1、math模块:包含了常用数学上的一些计算和常量
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.degrees(math.pi/3) # 将弧度转为角度
59.99999999999999
math.radians(30) # 将角度转弧度
0.5235987755982988
math.pi/6
0.5235987755982988
>>> math.sin(math.pi/6)
0.49999999999999994
>>> math.cos(math.pi/3)
0.5000000000000001
>>> math.tan(math.pi/4)
0.9999999999999999
>>> math.pow(2,4) # 幂运算
16.0
>>> 2**4
16
>>> math.fabs(-3.4) # 绝对值
3.4
>>> abs(-3.4)
3.4
>>> # 向上取整
...
>>> math.ceil(3.4)
4
>>> math.ceil(-3.4)
-3
>>> # 向下取整
...
>>> math.floor(3.4)
3
>>> math.floor(-3.4)
-4
>>> math.log(2,16)
0.25
>>> math.log(16,2)
4.0
>>> math.sqrt(4)
2.0
>>> 4**0.5
2.0
2、random模块:随机模块,主要用于产生随机数
>>> import random
>>> random.random() # 产生[0,1)之间任意一个小数
0.5743480507056788
>>> random.randint(4,10) # 产生[4,10]之间任意一个整数
10
>>> random.randrange(4,10,2) # 产生[4,10),步长为2的整数
8
>>>random.uniform(4,10) #[a, b] 区间的随机数
7.109340234323019
>>> random.shuffle([1,2,3,6,4,3564,45]) #洗牌,随机打散数据
>>> random.choice([1,2,3,6,4,3564,45]) #随机选择一个元素
45
>>>
>>> random.choice([1,2,3,6,4,3564,45])
3
>>> random.choice([1,2,3,6,4,3564,45])
3564
3、re模块
Ps:
(1) ‘.’ : 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行
(2)’^’: 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)
(3) ‘ ′ : 匹 配 字 符 结 尾 , 或 e . s e a r c h ( " f o o ' : 匹配字符结尾,或e.search("foo ′:匹配字符结尾,或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’
import re
regex = re.compile(r'.at')
lst = regex.findall("