python生成伪随机数的扩展库_python模块介绍-random:生成伪随机数
概述
這個模塊實現的偽隨機數生成器。
對于整數,從區間選取。對于序列,隨機元素。
在實線的,有功能來計算均勻分布,正態分布(高斯) ,對數正態分布,負指數,γ和β分布。對于生成的角度分布,馮·米塞斯的分布是可用的。
幾乎所有的模塊功能依賴于基本功能隨機的( ) ,它生成一個隨機浮點均勻的半開區間[ 0.0 , 1.0 ) 。 Python使用Mersenne扭曲為核心的發電機。它產生53位精度浮點值,周期為2 19937-1 。 C語言底層實現是快速和線程。梅森倍捻機是最廣泛的測試,隨機數生成器的存在之一。然而,作為完全確定性的,所以不適合用于所有目的,并且是完全不適合加密的目的。
該模塊提供的功能實際上是必然的random.Random類的隱藏的實例的方法。你可以實例化你自己隨機的情況下獲得的發電機不共享狀態。這對于多線程程序特別有用,創建隨機的為每個線程使用不同的實例,并使用jumpahead ( )方法,使之有可能看到每個線程生成的序列不重疊。
在這種情況下,覆蓋隨機的( ) ,種子( ) ,有getstate ( )的setstate ()和jumpahead ( )方法:隨機類也可以,如果你想使用你自己設計的不同的基本生成子類。或者,一種新型的發電機可以提供一個getrandbits ( )方法 - 這讓randrange ( )產生的選擇了一個任意大的范圍內。
新的2.4版: getrandbits ( )方法。
作為子類的一個實例,隨機模塊提供了一個實現純Python的替代發電機WichmannHill類。這個類提供了重現從早期版本的Python ,它使用的WICHMANN山為核心的算法生成的結果向后兼容的方式。注意,這WICHMANN - 希爾發生器可以不再推薦:其周期是由當代標準太短,并且所產生的序列是已知的失敗一些嚴格的隨機性測試。請參閱下面的參考資料為最近的變體,修復這些缺陷。
改變在2.3版本: MersenneTwister更換WICHMANN - 希爾作為默認生成器。
隨機模塊還提供了使用該系統的功能os.urandom ()從由操作系統提供源產生隨機數的SystemRandom類。
快速入門
>>> random.random() # Random float x, 0.0 <= x < 1.0
0.37444887175646646
>>> random.uniform(1, 10) # Random float x, 1.0 <= x < 10.0
1.1800146073117523
>>> random.randint(1, 10) # Integer from 1 to 10, endpoints included
7
>>> random.randrange(0, 101, 2) # Even integer from 0 to 100
26
>>> random.choice('abcdefghij') # Choose a random element
'c'
>>> items = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(items)
>>> items
[7, 3, 2, 5, 6, 4, 1]
>>> random.sample([1, 2, 3, 4, 5], 3) # Choose 3 elements
[4, 1, 5]
Python的單元測試框架,有時也被稱為PyUnit,是Kent Beck和Erich Gamma的JUnit的Python版本,JUnit又來源于Kent的Smalltalk的測試框架。
單元測試支持自動化測試,測試共享setup和shutdown代碼,匯集測試為集合,報告框架和測試獨立。
一些重要概念:
test fixture 測試夾具:執行測試的準備和清理工作。這可能包括,例如,創建臨時或代理數據庫,目錄,或啟動一個服務器進程。
測試用例
test case 測試用例:測試的最小單位。它檢查特定的輸入的特定響應。單元測試提供一個基類TestCase用來建立新的測試用例。
test suite測試套件:測試用例或測試套件或兩者的集合,用來匯聚要執行的測試。
test runner 測試執行器:執行側事故并提供輸出給用戶。它可使用圖形界面,文本界面,或者返回特殊的值指示執行的測試結果。
test case和test fixture 的概念通過 TestCase和FunctionTestCase類的支持,前者創建新測試的時使用,后者適用于集成現有的測試代碼到unittes驅動框架。TestCase的setUp()和tearDown()方法可以重載來提供準備和清理工作。FunctionTestCase中可以傳遞給構造函數準備和清理的函數名。當測試運行時先執行fixture初始化,如果初始化執行成功,不管測試的結果如何測試執行后會執行清理方法。每個TestCase實例只用于運行單個測試方法,每個測試都有自己的fixture。
Test suite由TestSuite類實現。它允許匯聚單個測試和test suite。 test runner只具有run()方法的對象,它接受一個TestCase或TestSuite對象作為參數,并返回結果對象。類TestResult提供了結果對象。unittest提供TextTestRunner作為默認的示例測試執行器,在標準錯誤流中報告測試結果。
快速入門
本文地址
參考資料
代碼地址:Lib/unittest/mock.py
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的python生成伪随机数的扩展库_python模块介绍-random:生成伪随机数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac的python在哪里_python
- 下一篇: mysql验证配置_详解MySQL|教你