Numpy函数
1、生成一个MN的正态分布
2、生成随机浮点数
3、指定起始值和元素个数,生成以为等差数列
4、产生随机的小数多维数组
5、产生多维的整数随机数组
6、产生随机整数
字典:
1将列表转化为字典的方法
2按key或者value排序
split()函数:
进行切片操作
csv文件:
将数据写入csv文件中:
写入csv文件时处理空格变成问号的问题
import
1、优化模块:使用from … import …
2、导入不同包下的模块:先将文件所处的路劲转到所要调用的包所在的同一目录下,同一包中的模块可直接import
random模块
1、random.randint(a,b):a,b都能取
2、random.randrange(a,b):取a不取b
3、random.sample(“字符串”,n):在字符串中随机取n个字符
4、random.choice(”字符串”):在字符串中随机取出一个字符
5、random.uniform(a,b):a与b之间的小数
os模块
shutil模块
1、shutil.copyfileobj(fsar,fdst,length):将文件内容拷贝到另一个文件中,可以部分内容。fsar--->fdst
2、shutil.copyfile(src,dst):拷贝文件,dst不存在则新建一个。src--->dst
3、shutil.copymode(src,dst):仅拷贝权限。内容,组,用户均不变。src--->dst
4、shutil.copystat(src,dst): 拷贝状态的信息,包括:mode bits, atime, mtime, flags。
5、shutil.copy(src,dst):拷贝文件和权限。
6、shutil.copytree(src,dst):递归的去拷贝文件,可拷贝目录,dst不存在则新建一个。
7、shutil.rmtree(path):递归的去删除文件,可删除目录.
8、shutil.move(src,dst):递归的去移动文件
9、shutil.make_archive(base_name,format,path):创建压缩包并返回文件路径。
base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则 保存至当前目录,否则保存至指定路径,
如:www =>保存至当前路径
如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/
format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”
json模块
用于字符串和python数据间进行转换。但不会破坏数据原本的类型
比如:将列表类型的导入到文件中,需转换成str类型,但从文件中读取出来时,文件内容依然还是列表类型。
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块
用于python特有的类型 和 python的数据类型间进行转换
pickle模块提供了四个功能:dumps、dump、loads、load
正则表达式符号:
1、'.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹 配任意字符,包括换行
2、'^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上 (r"^a","\nabc\neee",flags=re.MULTILINE)
3、'$' 匹配字符结尾,或 e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以
4、'*' 匹配*号前的字符0次或多次, re.findall("ab*","cabb3abcbbac") 结果为['abb', 'ab', 'a']
5、'+' 匹配前一个字符1次或多次, re.findall("ab+","ab+cd+abb+bba") 结果['ab', 'abb']
6、'?' 匹配前一个字符1次或0次
7、'{m}' 匹配前一个字符m次
8、'{n,m}' 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 结果'abb', 'ab', 'abb']
9、'|' 匹配|左或|右的字符, re.search("abc|ABC","ABCBabcCD").group() 结果'ABC'
10、'(...)' 分组匹配, re.search("(abc){2}a(123|456)c", "abcabca456c").group() 结果 abcabca456c
11、'\A' 只从字符开头匹配,re.search("\Aabc","alexabc") 是匹配不到 的
12、'\Z' 匹配字符结尾,同$
13、'\d' 匹配数字0-9
14、'\D' 匹配非数字
15、'\w' 匹配[A-Za-z0-9]
16、'\W' 匹配非[A-Za-z0-9]
17、's' 匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 结果 '\t'
18、'(?P<name>...)' 分组匹配
re.search("(?P<province>[0- 9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{4})","371481199306143242").groupdict("city") 结果{'province': '3714', 'city': '81', 'birthday': '1993'}
19、[^...] 匹配不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
常用匹配语法:
匹配汉字:
找出两个字符之间的字符串(@和 (空格)之间的字符串):
类的继承
py2 经典类是按深度优先来继承的,新式类是按广度优先来继承的
py3 经典类和新式类都是统一按广度优先来继承的
深度优先:D->B->A->C
广度优先:D->B->C->A
静态方法:@staticmethod 只是名义上归类管理, 实际上在静态方法里访问不了类或实例中的任何属性
使用静态方法的两种办法:
类方法: @classmethod 只能访问类变量,不能访问实例变量
属性方法: @property 把一个方法变成一个静态属性,而不是方法了,调用时就不需要用()了
@eat.setter: 可以用来设置传递参数
@eat.deleter :删除属性
反射
hasattr(obj,name_str) , 判断一个对象obj里是否有对应的name_str字符串的方法
getattr(obj,name_str), 根据字符串去获取obj对象里的对应的方法的内存地址
setattr(obj,'y',z), is equivalent to ``x.y = v''
delattr(obj,name_str)
异常:
异常种类:
try…else…finally:
自定义异常:
raise是用来抛出异常的