一、集合及其运算
集合是无序的,可去重的。用set([new])表示
name.intersection(new) = name & new #找交集
name.union(new) = name | new #求并集
name.difference(new) = name - new #差集
name.issubset(new) #子集
name.issuperset(new) #父集
name.symmetric_difference(new) = name ^ new #对称差集
name.add(new) #添加
name.upadd(1,2,3) #添加多项
name.remove('new') #删除
name.discard() #删除
二、文件操作
open("new",encoding="utf-8").read() #只是打开文件,不可其它操作
f = open("new",' r ',encoding="utf-8") #文件句柄,只读r ,写w(写是重新创建,会覆盖之前的)。追加a(不会覆盖)。
r+是读写,w+是写读,a+追加写读,rb是以二进制读的(如视频文件,网络传输),wb是二进制写。
f.tell() #读的指针指的位置
f.seek(0) #读的指针回到0处
with open('log','r') as f: #打开文件(可避免忘记关闭)
gbk_to_utf8.deconde("gbk").enconde("utf-8")
三、函数与函数式编程
1.面向对象:类:clss
2.面向过程: 过程:def
3.函数式编程: 函数: def
函数的优点:
A.代码重用
B.保持一致性
C.可扩展性
位置参数要在关键字之前
以“*”开始定一个参数组,是位置参数
以“ **”定义一个字典,是关键字参数放最后
四、局部变量和全局变量
global改变全局变量
字符串和整数不能从局部变量改为全局变量
五、递归
1.必须有明确的结束条件
2.每深一层,问题规模减少
3.函数通过栈,次数过多就会溢出。效率不高。