以Mark Lutz著的《Python学习手册》为教程,每天花1个小时左右时间学习,争取两周完成。 --- 写在前面的话
2013-7-18 19:30 学习笔记
1,与列表类似,元组也是任意对象的有序序列,通过偏移量读取,但是元组不可以改变。
2,由于圆括号也可以把表达式括起来,因此当元组中只有一个对象时,需要加一个逗号以避免歧义。例如:
t = (1,)
在不引起语法冲突的情况下,Python允许忽略元组的括号。当元组作为文字传递给函数或者在print语句中出现时,元组的括号不能省略。例如:
t = 1,2,3,4
3,要对元组进行排序,需要使用list()函数将其转变成列表。令一方面,tuple()函数可以将列表转成元组。
4,元组可以作为字典的键,但列表不可以。
5,使用open()函数会创建一个Python文件对象。常用的文件操作见下表:
操作 | 解释 |
output = open('/tmp/spam', 'w') | 创建输出文件 |
input = open('data', 'r') | 创建输入文件 |
input = open('data') | 与上一个相同,'r'是默认值 |
aString = input.read() | 把整个文件读进单一字符串 |
aString = input.read(N) | 读取N个字节到一个字符串 |
aString = input.readline() | 读取一行到一个字符串 |
aList = input.readlines() | 读取整个文件到字符串列表 |
output.write(aString) | 写入字节字符串到文件 |
output.writelines(aList) | 写入列表内的所有字符串到文件 |
out.close() | 手动关闭(当文件收集完成时会自动关闭) |
output.flush() | 把输出缓冲区刷新到硬盘,但不关闭文件 |
anyFile.seek(N0) | 修改文件位置到偏移量N处 |
6,struct模块可以来操作二进制文件的数据。
7,pickle模块可以把一个Python对象保存到文件,或者从保存的文件中读取Python对象。例如:
import pickle
D = {'name': 'mathboy'}
F = open('data', 'w')
pickle.dump(D,F)
F.close()
F = open('data', 'r')
E = pickle.load(F)
print E
结果为:
{'name': 'mathboy'}
8,Python对象真值表:
对象 | 值 |
"mathboy" | True |
"" | False |
[] | False |
{} | Flase |
1 | True |
0.0 | False |
None | False |
9,对于列表、字典以及通过class定义的对象,则存在共享引用的情况。需要警惕共享引用。