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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容