random模块
import random
# 输出0-1之间的随机浮点数,x in the interval [0, 1)
random.random() # 0.31655425988339436
# 返回a-b之间随机的整数,Return random integer in range [a, b]
random.randint(0, 10) # 0 2 4 6 7
# 随机输出a-b之间的浮点数, in the range [a, b) or [a, b]
random.uniform(0, 1) # 0.6220953395446402
# 随机生成a-b之间的保留2位小数的浮点数
a = random.uniform(10, 20)
print round(a, 2)
# random.choice(),随机从列表/元组/字符串输出一个字符串
random.choice("abcdefghijklmnopqrstuvwxyz") # a y u
# random.sample(),随机从列表/元组/字符串取n个元素,返回list
random.sample("abcdefghijklmnopqrstuvwxyz", 3) # ["a", "w", "f"] ["d", "k", "l"]
"".join(random.sample("abcdefghijklmnopqrstuvwxyz", 3)) # awf qwe ert
# random.shuffle()对原列表元素进行随机打乱,返回None
a = [1, 2, 3, 4, 5]
b = random.shuffle(a)
print(a) # [3, 5, 2, 1, 4]
print(b) # None
- 随机生成11位手机号:13********-18********
- range(10),表示[a, b),即0-9的数字
phone = "1"+str(random.randint(3,8))+"".join(random.sample("0123456789", 9))
print(phone) # 13680352791
# 写法2
phone = "1"+str(random.randint(3, 8))+ ''.join(str(random.choice(range(10))) for x in range(9))
# 写法3
from faker import Faker
phone = Faker("zh_CN").phone_number()
re模块
-
re.match(pattern, string, flags=0)
,从起始位置判断字符串是否匹配正则表达式,如果满足返回正则表达式则马海match对象,如果不满足则返回None
-
re.search(pattern, string, flags=0)
,匹配成功re.search方法返回一个匹配的对象,否则返回None。
- re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
e = re.match(r'www', "www.www.codemao.cn") # <_sre.SRE_Match object; span=(0, 3), match='www'>
e.group(0) # 'www'
e = re.match(r'w+', "www.www.codemao.cn") # <_sre.SRE_Match object; span=(0, 3), match='www'>