random模块可以很容易生成随机数和随机字符串。
random.randint(1, 100) # 1-100之间取一个随机数 random.randrange(1, 100) # 1-100之间取一个随机数
randint&randrange区别:randint包含100,randrange不包含100!!!
random.random() # 返回一个随机浮点数 random.choice(‘huangisngiisha12131a@!!!‘) # 返回一个给定数据集合中的随机字符 random.sample(‘adwas1231as!@#!as‘, 4) # 从多个字符中选取特定数量的字符
示例如下:
>>> random.random() 0.8102972151157363 >>> random.choice(‘huangisngiisha12131a@!!!‘) ‘a‘ >>> random.sample(‘adwas1231as!@#!as‘,4) [‘@‘, ‘!‘, ‘1‘, ‘s‘]
生成随机字符串(string模块) |
string模块常用方法:
>>> import string >>> string.digits # 数字字符串 ‘0123456789‘ >>> string.ascii_letters # 字母字符串 ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‘ >>> string.ascii_lowercase # 小写字母字符串 ‘abcdefghijklmnopqrstuvwxyz‘ >>> string.ascii_uppercase # 大写字母字符串 ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘ >>> string.punctuation # 特殊字符 ‘!"#$%&\‘()*+,-./:;<=>?@[\\]^_`{|}~‘
生成随机字符串:
>>> import string >>> s = string.ascii_lowercase + string.digits >>> s ‘abcdefghijklmnopqrstuvwxyz0123456789‘ >>> random.sample(s, 5) [‘p‘, ‘c‘, ‘3‘, ‘l‘, ‘y‘] >>> ‘‘.join(random.sample(s,5)) ‘1lngp‘
shuffle方法将序列的所有元素随机排序 |
>>> li = list(range(20)) >>> random.shuffle(li) # 打乱排序 >>> li [5, 1, 4, 6, 18, 10, 9, 2, 8, 7, 16, 17, 15, 12, 14, 13, 0, 11, 19, 3]