知乎:https://www.zhihu.com/people/monkey.d.luffy Android高级开发交流群2: 752871516
全部博文(315)
分类: Python/Ruby
2012-02-22 21:13:58
继续python,这几天兄弟们在玩,所以就没怎么学习了。耽搁了好几天!
1.有个函数的概念:共轭复数?
两头牛背上的架子称为轭,轭使两头牛同步行走。共轭即为按一定的规律相配的一对.这是作者的解释,很形象,不过还是来看他的数学含义吧!
所谓共轭复数,简单来说就是两个实部相等,虚部互为相反数的复数互为共轭复数(conjugate complex number).关于x轴对称,就像两头牛平行的拉一部梨。想起大学数学,都快忘完了,数学是“万物之源”,有空好好学习数学才行的!
2. 这里我可能要留一个空白了,在python中说到了标准整型,长整型,重要是标准整型与长整型整合,这个概念可以查看相关资料,python中正在完善这点!老版本的python如果类型超过了就会出错,而新版本的会把你超过2的32次方-1的数自动转换为长整型,而长整型应该是足够表示你所需要的一切数字了。
3. 至于“地板除“的概念,了解就好。就像1/2 = 0,这个c语言大家都知道,1%2 = 1,取余数吗,都懂的。然而我们如果像取得精确的值0.5用“地板除“就不行。需要真正的除法,python用from __future__ import division来实现除法的标准行为。
4.关于“浅拷贝“和“深拷贝“的问题,值得了解
所谓浅拷贝就是只拷贝了对对象的索引,而不是重新建立了一个对象--也就是说当你创建一个对象,然后把它赋给另一个变量的时候,Python 并没有拷贝这个对象,而是拷贝了这个对象的引用。!如果你想完全的拷贝一个对象(包括递归,如果你的对象是一个包含在容器中的容器),你需要用到深拷贝.
书中自有黄金屋:对一个对象进行浅拷贝其实是新创建了一个类型跟原对象一样,其内容是原来对象元素的引用,换句话说,这个拷贝的对象本身是新的,但是它的内容不是.序列类型对象的浅拷贝是默认类型拷贝,并可以以下几种方式实施:
(1)完全切片操作[:],
(2)利用工厂函数,比如 list(),dict()等,
(3)使用 copy 模块的 copy 函数.
5.WYSIWYG
这个词语是在看序列那章提到的:意思是所见即所得。这是关于字符串的那个三引号的问题。
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的 WYSIWYG(所见即所得)格式的。一个典型的用例是,当你需要一块 HTML 或者 SQL 时,这时用字符串组合,特殊字符串转义将会非常的繁琐.
6.什么是 Unicode?
摘自原文:Unicode 是计算机可以支持这个星球上多种语言的秘密武器.在 Unicode 之前,用的都是ASCII,ASCII 码非常简单,每个英文字符都是以七位二进制数的方式存贮在计算机内,其范围是 32 到 126.当用户在文件中键入一个大写字符 A 时,计算机会把 A 的 ASCII 码值 65写入磁盘,然后当计算机读取该文件时,它会首先把 65 转化成字符 A 然后显示到屏幕上.ASCII 编码的文件小巧易读。一个程序只需简单地把文件的每个字节读出来,把对应的数值转换成字符显示出来就可以了.但是 ASCII 字符只能表示 95 个可打印字符.后来的软件厂
商把ASCII 码扩展到了 8 位,这样一来它就可以多标识 128 个字符,可是 223 个字符对需要成千上万的字符的非欧洲语系的语言来说仍然太少。
Unicode 通过使用一个或多个字节来表示一个字符的方法突破了 ASCII 的限制. 在这样机制下, Unicode 可以表示超过 90,000 个字符.
7.Codecs 是什么?
这里我们在学习qt的时候会碰到编码问题,java里面好像有;我当时用的是codec的黑代码来解决的。
所以这里提下:
codec 是 COder/DECoder 的首字母组合.它定义了文本跟二进制值的转换方式,跟 ASCII 那种用一个字节把字符转换成数字的方式不同,Unicode 用的是多字节.这导致了 Unicode 支持多种 不 同 的 编 码 方 式 . 比 如 说 codec 支 持 的 四 种 耳 熟 能 详 的 编 码 方 式是 :ASCII,ISO 8859-1/Latin-1,UTF-8 和 UTF-16.
8.核心模块: re
耳朵里面听到了很多关于正则表达式的词语,所以有必要提下;你可以像使正则表达式(RE)提供了高级的字符串模式匹配方案.通过描述这些模式的语法,用“过滤器”一样高效地查找传进来的文本。这些过滤器允许你基于自定义的模式字符串抽取匹配模式、执行查找-替换或分割字符串.