python-random库
random库
random模块实现了各种分布的伪随机数生成器,为什么称为伪随机数:即使人类使用算法等方式,以一个基准(也被叫做种子,最常用的就是时间戳)来构造一系列数字,这些数字的特控符合人们所理解的随机数。但因为是通过算法得到的,所以一旦算法和种子都确定,那么产生的随机数序列也是确定的,所以叫伪随机数
常用函数
random.seed(a)
设置初始化随机种子,可输出相同随机数序列;a取整数或浮点数,不设置时默认以系统时间为种子。
1 | import random |
没有显示设定种子时,每次输出的随机数都是不一样的;显示设置种子时,每次输出的随机数都是一样的。
random.random() # 用于生成一个0.0到1.0的随机数
print(random.random())
random.uniform(a, b) # 生成一个[a, b]之间的随机小数;a,b取整数或浮点数
print(random.uniform(10, 20))
random.randint(a, b) # 生成一个[a, b]之间随机整数
print(random.randint(10, 20))
random.randrange(start, stop, [step])
#生成一个[start, stop]之间以step步数的随机整数:start,stop,step取整数,step不设置时默认值为1
1 | print(random.randrange(1, 100)) # 随机生成1-100之间的整数 |
random.getrandbits(k) # 生成一个占内存k位以内的随机整数;k取长度的整数值
print(random.getrandbits(10))
生成一个内存占k位以内的随机数;k取长度的整数值
random.choice(seq) # 从序列类型seq中随机返回一个元素;seq取序列类型:如字符串、列表、元组
print(random.choice([1, ‘10’, 3, 5, 7, 1001]))
random.shuffle(seq)
将序列类型中元素随机排序,返回打乱后序列,seq被改变(改变原序列),shuffle为洗牌之意;seq取序列类型:如字符串,列表,元组
1
2
3list = ['a', 'b', 'c', 'd', 'e', 'f']
random.shuffle(list)
print(list)
1 | def get_random_string(length): |
可以使用这种调用其的方式、
1 | //创建随机数对象 |