python核心编程第二版
第二章:
p20,print语句调用str()函数显示对象,而交互式解释器则调用repr()函数显示对象。
p21,下划线“_”在解释器中有特别的含义,表示最后一个表达式的值。
p22,文档字符串,特别的注释在每个模块函数等的开始的地方,可以用来自动生成文档。
p22,“/”地板除,取比商校地最大整数,“//”是一般意义上的除法
p23, 3<4<5 ,表示3<4 and 4<5
p24,bool ,True,False
p25,三引号可以用来包含特殊的字符,[]表示索引,[:]切片操作符得到子字符串,第一个字符索引时0,最后一个是-1,左闭右开
p26,列表[]可以自动改变大小,元组()不能,元祖的切片仍是元组。
p27,字典:for key in aDict:
print key, aDict[key]
p28, if...elif...else,都要用":" 表示块的开始。
p29 带逗号的print语句输出的元素之间会自动添加一个空格。
p30,enumerate()函数同时循环索引和元素。for i,ch in enumerate(foo):
print ch, '(%d)' % i
p30,列表解析,squared = [x ** 2 for x in range(8) if not x % 2]
sqdEvens = [x ** 2 for x in range(8) if not x % 2]
p31 打开文件open(filename,mode)。r,w,a,+(读写),b(二进制)
p31 print语句中用","来抑制自动生成的换行符号
p32 python使用引用来调用的。
p31 def表示定义函数
p34 self跟this是同一个意思, __init__()类似于构造函数
p36,实用函数,dir[obj]显示对象的属性,help(),int(),len(),open(fn, mode),range(),raw_input(),str(),type()
p40,"\"继续上一行。";"将两个语句连接在一行中。":"将代码块的头和体分开
p41,如果要在使用反斜线换行和使用括号元素换行两者之间做一个选择,我们推荐使用括号。
p41,同一代码组的代码行必须严格左对齐
p42,都是对象的引用。python的赋值语句不会返回值
p43,链式赋值y=x=x+1,多元赋值:x,y,z=1,2,''string"。直接交换x,y=y,x。python在赋值之前已经事先对x,y的新值做了计算
p45,python中下划线使用的总结:_xxx(不用from module improt*导入),_xxx_(系统定义名字),_xxx(类中私有变量名)
p46,文档字符串的访问,obj.__doc__,模块,类或者函数
p51,引用计数类似与智能指针,del删除对象的一个引用。
p53,os.lineseq表示换行符,不必关心它是\r\n,还是\n
p54, 在没有合适函数排除错误的时候使用异常处理是比较好的。