目录
元组
- 元组不可在原位置修改,无sort()之类在原位置修改的函数,但可用sorted()
- 元组内部可嵌套列表等可修改类型,元组内部的列表可修改
- 列表,字典,元祖可包含任何种类的对象,集合只能包含不可变对象(字符串,元祖,数字)
T=(20,) #若要形成单元素元组则要在元素后加 ‘,’
T=tuple(I) #I为可迭代的对象
文件
f=open(r'C:/spam','r/w/a/w+/r+/rb') #打开文件w+/r+可写可读,w+会清空原来文件的内容,a表示在原文件上加内容
f.seek(i) #将光标移动到文件中i位置上
f.flush() #将缓冲区的文件写内容刷入磁盘
for x in f
print(x) #一行一行打印
eval("print('abc')") #eval函数可将字符串当做运行代码
#pickle模块
#转存
f=open('C:/spam','wb') #以二进制写入形式打开一个文件
import pickle
pickle.dump(D,f) #将数据转换成二进制形式存入文件中
f.close() #关闭文件
#取回
f=open('C:/spam','rb') #以二进制读的形式打开文件
e=pickle.load(f) #将文件中的内容转换加载到e中
#JSON模块
#转存
import json
s=json.dumps(data) #将数据转成json格式再赋值给s
#取回
data=json.loads(s) #将json文本转换成Python对象再赋值给data
语句与语法
- python 不支持a++,a-- 的写法,没有swich函数
- 对列表而言'+='是在原位置修改,而‘+’是产生新对象
#try
try:
尝试一下,可能出错
except:
‘try’发生异常则执行
else:
‘try’未发生异常
#赋值
a, *b= 'spam' #a='s',b以列表形式承接剩余的字符
seq='spam'
*a = seq #错误写法,带星号的名称自身没有被编写入列表中
*a, = seq #正确写法
#打印
print('打印目标',sep='分隔符',end='结尾字符串',file='输出流',flush=true/false决定是否刷新输出缓冲区)
#设定输出流
import sys
temp=sys.stdout #标记原来的输出流
sys.stdout=open('log.txt','a') #将输出流设为写入log.txt文件
print('spam') #将‘spam’输进log.txt文件中
sys.stdout.close() #关闭文件
sys.stdout=temp #复原
#if/else三元表达式
a = y if x else z #若x为真则a=y,否则a=z
while text:
....
else:
若'break'未执行则执行这条
#enumerate函数
for (offset,item) in enumerate(S) #offset是从0开始的计数器,item是S中的各元素,S是可迭代对象,enumerate会返回一个生成器对象