总结:这本书适合自学能力较强的,或者有一定基础的人自学。并不是一本手把手的基础教材,但是可以培养网络搜索能力。
1.格式化输出:%s用于string(基于str()),%r用于debug(基于repr(),原封不动显示输出,双引号转换为单引号),%d用于整数。format更先进。
2.sys.argv:脚本接受的参数列表。[0]为脚本路径。
3.文件操作:f=open(文件名,’w’)。常用方法:f.close()、read()、readline()、truncate()、write(字符串)等。注意方法的参数。
4.f.seek(整数)将读/写指针放到指定位置。
5.str.split(‘ ’)以空格为标志分割str,返回列表。
列表.pop(x)弹出(即删除)列表[x]元素,返回这个元素。
sorted()整理一个列表或元组等。
6.一些关键字:
global:在函数中定义的变量默认是局部变量,局部变量覆盖同名全局变量。引入全局变量需要用global。
assert(断言):判断后面跟着的表达式,若值为False则立刻终止程序并触发一个assert错误。
pass:用来占位。
yield:在函数中遇到yield后,会将所有局部变量保存,返回yield后面的对象,然后继续执行函数。yield主要是为了节省空间。
exec:将字符串当作python语句执行。总是返回None。
7.使用 字典名.items()来遍历字典。字典的get方法:get(key,default)用键找到对应的值,若没有则返回default,默认为None。
8.super方法:为了使子类调用父类方法可使用super方法。在python3中,格式为super().父类方法。在复杂的继承中,super调用的哪个方法可能比较复杂。
为了以一定的顺序快速寻找到指定方法,python使用了MRO(Method Resolution Order)方法解析顺序,涉及到C3算法。应该尽量避免多重继承。
9.str.strip([chars])方法:去除str两端的chars字符串,默认为去除空白符。
10.random库:
import random
random.choice([‘apple’, ‘pear’, ‘banana’])‘apple’
random.sample(range(100), 10) # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
random.random() # random float
0.17970987693706186
random.randrange(6) # random integer chosen from range(6)4
11.后面可以不用看了