本次笔记针对原书1~2章节
第一章:欢迎来到Python的世界
1、在C语言中,对于混杂数组(Python 中的列表)和哈希表(Python 中的字典)还没有相应的标准库,所以它们经常被重复实现,并被复制到每个新项目中去。这个过程混乱而且容易产生错误。C++使用标准模版库改进了这种情况,但是标准模版库是很难与 Python 内建的列表和字典的简洁和易读相提并论的。
2、标准版本的Python是用C来编译的,又叫CPython。
3、Python源文件通常用.py扩展名。当源文件被解释器加载或者显式地进行字节码编译的时候会被编译成字节码。由于调用解释器的方式不同,源文件会被编译成带有.pyc 或.pyo 扩展名的文件。
第二章:Python起步
4、print语句调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对象。
5、在学习Python 的过程中,如果需要得到一个生疏函数的帮助,只需要对它调用内建函数help()。通过用函数名作为 help()的参数就能得到相应的帮助信息。
6、下划线( _ )在解释器中有特别的含义,表示最后一个表达式的值。
7、从用户那里得到数据输入的最容易的方法是使用raw_input()内建函数。它读取标准输入,并将读取到的数据赋值给指定的变量。
8、内建函数int()将数值字符串转换成整数值。
9、Python有两种除法运算符,单斜杠用作传统除法,双斜杠用作浮点除法(对结果进行四舍五入)。
10、乘方运算符, 双星号(**)。
11、Python 不支持C语言中的自增1和自减1运算符,这是因为+和-也是单目运算符,Python 会将--n解释为-(-n)从而得到n , 同样++n的结果也是n。
12、Python支持五种基本数字类型:int、long、bool、float、complex。其中有三种是整数类型。
13、用索引运算符( [ ] )和切片运算符( [ : ] )可以得到子字符串。字符串有其特有的索引规则:第一个字符的索引是0,最后一个字符的索引是-1。
14、加号( + )用于字符串连接运算,星号( * )则用于字符串重复。
15、字符串slice方法可以使用[::-1]实现逆序输出。
16、可以将列表和元组当成普通的“数组”,列表元素用中括号( [ ] )包裹,元素的个数及元素的值可以改变。元组元素用小括号( ( ) )包裹,不可以更改(尽管他们的内容可以)。元组可以看成是只读的列表。
17、代码块通过缩进对齐表达代码逻辑而不是使用大括号,因为没有了额外的字符,程序的可读性更高。
18、print 语句默认会给每一行添加一个换行符。只要在 print 语句的最后添加一个逗号( , ),就可以省略这个换行符。
19、range() 函数经常和 len() 函数一起用于字符串索引。
显示每一个元素及其索引值:
>>> foo = 'abc'
>>> for i in range(len(foo)):
... print foo[i], '(%d)' % i
...
a (0)
b (1)
c (2)
20、 即想循环索引,又想循环元素,使用enumerate()。
>>> for i, ch in enumerate(foo):
... print ch, '(%d)' % i
...
a (0)
b (1)
c (2)
21、文件读取函数handle = open(file_name, access_mode = 'r') ,access_mode 中 'r' 表示读取,'w' 表示写入, 'a' 表示添加。其它可能用到的标声还有 '+' 表示读写, 'b'表示二进制访问. 如果未提供 access_mode , 默认值为 'r'。
22、要给你的代码添加错误检测及异常处理,只要将它们封装在 try-except 语句当中。
try:
filename = raw_input('Enter file name: ')
fobj = open(filename, 'r')
for eachLine in fobj:
print eachLine, fobj.close()
except IOError, e:
print 'file open error:', e
程序员也可以通过使用 raise 语句故意引发一个异常。
23、如果函数中没有 return 语句, 就会自动返回 None 对象。
24、Python 是通过引用调用的。这意味着函数内对参数的改变会影响到原始对象。不过事实上只有可变对象会受此影响,对不可变对象来说,它的行为类似按值调用。
25、__init__() 可以被当成构建函数, 不过不象其它语言中的构建函数,它并不创建实例--它仅仅是你的对象创建后执行的第一个方法。它的目的是执行一些该对象的必要的初始化工作。
26、什么是 self ? 它是类实例自身的引用。
27、self.__class__引用实际的类。
28、模块是一种组织形式, 它将彼此有关系的 Python 代码组织到一个个独立文件当中。 模块可以包含可执行代码, 函数和类或者这些东西的组合。