首頁 後端開發 Python教學 random模組在Python哪個版本

random模組在Python哪個版本

Jun 17, 2019 am 09:50 AM
python

random模組用於產生偽隨機數,原始碼位置: Lib/random.py

真正意義上的隨機數(或隨機事件)在某次產生過程中是按照實驗過程中表現的分佈機率隨機產生的,其結果是不可預測的,是不可見的。而計算機中的隨機函數是依照某一演算法模擬產生的,其結果是確定的,是可見的。我們可以這樣認為這個可預見的結果其出現的機率是100%。所以用計算機隨機函數所產生的「隨機數」並不隨機,是偽隨機數。

random模組在Python哪個版本

計算機的偽隨機數是由隨機種子根據一定的計算方法計算出來的數值。所以,只要計算方法一定,隨機種子一定,那麼產生的隨機數就是固定的。

只要使用者或第三方不設定隨機種子,那麼在預設情況下隨機種子來自系統時鐘。

Python的這個函式庫在底層使用通用的演算法,經過長久的考驗,可靠性沒得說,但絕對不能用於密碼相關的功能。

一、基本方法

random.seed(a=None, version=2)

初始化偽隨機數產生器。如果未提供a或a=None,則使用系統時間為種子。如果a是一個整數,則作為種子。

random.getstate()

傳回一個目前生成器的內部狀態的物件

random.setstate(state)

傳入一個先前利用getstate方法獲得的狀態對象,使得生成器恢復到這個狀態。

random.getrandbits(k)

傳回一個不大於K位元的Python整數(十進位),例如k=10,則結果在0~2^10之間的整數。

二、針對整數的方法

random.randrange(stop)
random.randrange(start, stop[, step])
登入後複製

等同於choice(range(start, stop, step)),但並非實際建立range物件。

random.randint(a, b)
登入後複製

傳回一個a <= N <= b的隨機整數N。等同於randrange(a, b 1)

三、針對序列類別結構的方法

random.choice(seq)

從非空序列seq中隨機選取一個元素。如果seq為空則彈出 IndexError異常。

random.choices(population, weights=None, *, cum_weights=None, k=1)

3.6版本新增。從population集群中隨機抽取K個元素。 weights是相對權重列表,cum_weights是累計權重,兩個參數不能同時存在。

random.shuffle(x[, random])

隨機打亂序列x內元素的排列順序。只能針對可變的序列,對於不可變序列,請使用下面的sample()方法。

random.sample(population, k)

從population樣本或集合中隨機抽取K個不重複的元素形成新的序列。常用於不重複的隨機抽樣。回傳的是一個新的序列,不會破壞原有序列。要從一個整數區間隨機抽取一定數量的整數,請使用sample(range(10000000), k=60)類似的方法,這非常有效且節省空間。如果k大於population的長度,則彈出ValueError異常。

四、真值分佈

random模組最高階的功能其實在這裡。

random.random()

傳回一個介於左閉右開[0.0, 1.0)區間的浮點數

random.uniform(a, b)

傳回介於a和b之間的浮點數。如果a>b,則是b到a之間的浮點數。這裡的a和b都有可能出現在結果中。

random.triangular(low, high, mode)

傳回一個low <= N <=high的三角形分佈的隨機數。參數mode指明眾數出現位置。

random.betavariate(alpha, beta)

β分佈。回傳的結果在0~1之間

random.expovariate(lambd)

指數分佈

random.gammavariate(alpha, beta)

伽馬分佈

random.gauss(mu, sigma)

高斯分佈

random.lognormvariate(mu, sigma)

#對數常態分佈

random.normalvariate(mu, sigma)

常態分佈

random.vonmisesvariate(mu, kappa)

卡帕分佈

#random.paretovariate(alpha)

帕累托分佈

random.weibullvariate(alpha, beta)

五、可選擇的生成器

class random.SystemRandom([seed])

使用os.urandom() 方法產生隨機數的類,由作業系統提供來源碼,不一定所有系統都支援

以上是random模組在Python哪個版本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

See all articles