python常用庫之random


random是內建(built-in)函數,作用是產生隨機數,使用較多.

1.導入模塊

首先是導入模塊:

import random

接着就可以調用random模塊下的函數了,例如:

random.randint(1,100)

語句的含義是產生1至100(包含1與100)的一個隨機數。

也可以:   from random import randint #直接導入randint函數

還可以改名呢:   from random import randint as ra_int

就可以直接調用ra_int函數了,適用於名字較長的函數,寫代碼時方便。

2.random模塊下函數

使用 dir(random)可以查看random模塊下有哪些函數,結果如下:

['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

3.最常用的函數有如下:

(1)生成一個0到1之間的隨機浮點數,包括0但不包括1,也就是[0.0, 1.0)。

random.random()

(2)生成a、b之間的隨機浮點數。不過與randint不同的是,a、b無需是整數,也不用考慮大小。

random.uniform(a, b)

(3)從序列中隨機選取一個元素。seq需要是一個序列,比如list、元組、字符串。

random.choice(seq)

例:

random.choice([1, 2, 3, 5, 8, 13]) #list

random.choice('hello') #字符串

random.choice(['hello', 'world']) #字符串組成的list

random.choice((1, 2, 3)) #元組

都是可行的用法。

(4)生成一個從start到stop(不包括stop),間隔為step的一個隨機數。start、stop、step都要為整數,且start<stop。

random.randrange(start, stop, step)

(5)從population序列中,隨機獲取k個元素,生成一個新序列。sample不改變原來序列。

random.sample(population, k)

(6)把序列x中的元素順序打亂。shuffle直接改變原有的序列。

random.shuffle(x)

(7) seed()方法改變隨機數生成器的種子,可以在調用其他隨機模塊函數之前調用此函數, 注意其實是偽隨機數,只要初始值一樣,得到的結果會是一樣的,在python中,默認用系統時間作為seed。你也可以手動調用random.seed(x)來指定seed。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM