1.python函数传的都是引用,如果对象可变,则传的是引用,如果对象不可变,相当于传值。 数字、字符串、元组不可变,列表、字典可变
2. str.isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
str.isdigit(): 如果字符串只包含数字则返回 True 否则返回 False。
3.三个单引号或者双引号中间可以包含多行字符串常量,所有行合并在一起,每行之间增加换行符。
4.字典解析式: dict ={i:2*i for i in range(10)}
5.判断某个对象是否为某个类型,isinstance(a, list)
6. 2 and 3 : 3
2 or 3: 2
[] or 1: 1
[] and 1 : []
短路计算
7. ['f', 't'][bool('')]
此时无短路运算。false选择前面的,true选择后面的。
8. C 赋值语句中,会返回赋值后的值,则while((x=next())!=NULL)在C语言中有效,但是在python中无效,python中赋值语句不是表达式。
9. for 循环可以用于任何序列,例如字符串和元组,还可以应用于一些不是序列的对象上,例如文件和字典。
10.file : read() 一次将所有内容读到一个字符串序列中,一次性加载到内存。 readline(): 一次性读一行,比较慢,到达文件末尾时,返回空字符串。readlines(): 读成一个按行的列表。迭代器版本最快:
for line in open('test.txt'):
print(line, end = '')
迭代器版本在python中以C语言的速度运行,而while循环通过python虚拟机运行python字节码
11. chr() 返回0-255之间的数值对应的字符,unichr()返回unicode,ord返回ascii码
12. 可迭代对象: 序列观念的通用化:如果对象时实际保存的序列,或者可以在迭代工具环境中一次产生一个结果的对象,就可以看做可迭代的。
13. _next_方法:有该方法的对象在每次迭代中调用_next_,末尾时引发StopIteration异常。
文件是自身的迭代器,iter(file) =file
列表不是自身的迭代器,因为支持多次打开迭代器。