python中的random模块

近来在学习Celery包的时候发现自己对于python中的random()模块真是知之甚少。

  1. random.random():
    用于生成一个0到1的随机符点数: 0 <= n < 1.0
>>> random.random()
0.42995943567257877
  1. random.randint():
    用于生成一个随机整数
>>> random.randint(10, 50)
22
  1. random.choice()
    random.choice(seqence)从序列中获取一个随机元素。
>>> random.choice([1,2,3,4])
3
>>> random.choice([1,2,3,4])
1
  1. random.uniform()
    random.uniform(a, b), 用于生成一个指定范围内的随机符点数,其中一个是上限,一个是下限。如果a < b,则生成的随机数n: a<= n <= b。如果 a > b, 则 b <= n <= a。
>>> random.uniform(20,10)
16.260450186509555
>>> random.uniform(10,20)
19.315077074480815
  1. random.shuffle
    random.shuffle(x[, random]),用于将一个列表中的元素打乱。
>>>p=['This','is','python']
>>>random.shuffle(p)
>>>p
['This','python', 'is']
  1. random.sample
    random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
>>>list1=[1,2,3,4,5,6,7,8,9]
>>>p=random.sample(list1,3)
>>>p
[7, 8,3]
  1. random.randrange
    random.randrange([start], stop,[, step]),从指定范围内,按指定基数递增的集合中获取一个随机数random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。
>>>random.randrange(10)
3
>>>random.randrange(1,12,2)
11
  1. 生成8位长度的随机数字+字符的字符串
salt = ''.join(random.sample(string.ascii_letters + string.digits, 8))
print salt

你可能感兴趣的:(python中的random模块)