python基础之部分函数及方法使用

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是用来抛出异常的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值