下面具体介绍random模块的功能:
1、random.random() # 用于生成一个0到1的随机浮点数:0<=n<1.0(左闭右开)
import random
ret = random.random()
print(ret)
结果:
ret : 0.8947529143749732
2、random.uniform(a,b) # 用于生成一个指定范围的随机浮点数,两个参数其中一个是上限,一个是下限,如果a>b,则生成的随机数n:a<=n
import random
ret1 = random.uniform(1,10)
ret2 = random.uniform(10,1)
print(ret1)
print(ret2)
结果:
ret1 : 3.674080751273465
ret2 : 4.428659179457661
3、random.randint(a,b) # 用于生成一个指定范围内的整数,其中参数a是下限,参数b是上限,生成的随机数n:a<=n
import random
ret = random.randint(1,10)
print(ret)
结果:
ret : 5
4、random.randrange([start],stop[,step]) # 从指定范围内,按指定基数递增的集合中获取一个随机数。random.randrange(10,30,2),结果相当于从[10,12,14,16,...26,28]序列中获取一个随机数,random.randrange(10,30,2)在结果上与random.choice(range(10,30,2))等效。
>>> random.randrange(10, 20)
15
>>> random.randrange(10, 20, 3)
10
>>> random.randrange(10, 20, 3)
19
>>> random.randrange(10)
7
5、random.choice(sequence) # random.choice从序列中获取一个随机元素,其函数原型为:random.choice(sequence),参数sequence表示一个有序类型,这里要说明一下:sequence在Python不是一中特定的类型,而是泛指一系列的类型。list,tuple,字符串都属于sequence
>>> str1 = 'i love python!'
>>> list1 = ['python', 123, [1, 2, 3], (1, 2, 3)]
>>> random.choice(str1)
'i'
>>> random.choice(list1)
'python'
>>> random.choice(list1)
123
>>> random.choice(list1)
123
>>> random.choice(list1)
'python'
>>> random.choice(list1)
123
>>> random.choice(list1)
[1, 2, 3]
6、random.shuffle(x[,random]) # 用于将一个列表中的元素打乱,即将列表内的元素随机排序
>>> list1
['python', 123, [1, 2, 3], (1, 2, 3)]
>>> random.shuffle(list1)
>>> list1
[123, [1, 2, 3], (1, 2, 3), 'python']
7、random.sample(sequence,k) # 从指定序列中随机获取指定长度的片断并随机排序。注意:sample函数不会修改原有的序列
>>> list1
[123, [1, 2, 3], (1, 2, 3), 'python']
>>> ret = random.sample(list1)
Traceback (most recent call last):
File "", line 1, in
ret = random.sample(list1)
TypeError: sample() missing 1 required positional argument: 'k'
>>> ret = random.sample(list1, 2)
>>> ret
[(1, 2, 3), 123]
>>> list1
[123, [1, 2, 3], (1, 2, 3), 'python']