Python 隨機數產生器

學習如何使用 Python 產生隨機數,包含交互式程式碼範例。使用 random、secrets 和 numpy 模組即時執行程式碼並查看結果。

即時程式碼執行 多種方法 即時結果

需要快速產生隨機數?

試試我們的在線隨機數產生器,無需編寫任何程式碼即可獲得即時結果。

打開隨機數產生器

Python 程式碼編輯器

學習如何使用 Python 產生隨機數,包含交互式程式碼範例。使用 random、secrets 和 numpy 模組即時執行程式碼並查看結果。

輸出

Pyodide (Python → WebAssembly)

正在執行程式碼...

基礎隨機整數

使用 random.randint() 在指定範圍內產生隨機整數。這是最常用的通用隨機數產生方法。

理解 Python 隨機數產生

Python 提供多種產生隨機數的方法,每種方法適用於不同的使用場景。random 模組使用基於 Mersenne Twister 演演演演算法的偽隨機數產生(PRNG),而 secrets 模組提供加密安全的隨機數,適用於密碼產生和安全令牌。

random

random 模組提供快速的偽隨機數產生,適用於模擬、遊戲和一般程式設計任務。

secrets

secrets 模組使用 os.urandom() 產生加密安全的隨機數,適用於密碼產生、安全令牌和認證系統。

numpy

NumPy 的隨機模組提供高效的基於陣列的隨機數產生,非常適合科學計算、資料分析和大規模模擬。

常見使用場景

遊戲和模擬

使用 random.randint() 或 random.choice() 產生隨機骰子點數、抽牌、戰利品掉落和遊戲事件。

安全和密碼學

使用 secrets 模組建立安全密碼、API 密鑰、會話令牌和加密鹽值。

資料科學和統計

使用 numpy.random() 產生用於測試、統計採樣和蒙特卡洛模擬的隨機資料集。

軟體測試

建立隨機測試資料和邊界情況,確保健壯的程式碼覆蓋率和錯誤檢測。

Python 隨機數產生工作原理

Python 的 random 模組使用 Mersenne Twister 演演演演算法,這是一種廣泛使用的偽隨機數產生器(PRNG)。它產生看似隨機但實際上基於初始種子值確定性的數字序列。

secrets 模組在 Python 3.6 中引入,使用 os.urandom() 訪問作業系統的加密隨機性源。這提供了適用於安全敏感應用的真正隨機性。

NumPy 的隨機模組構建在 Mersenne Twister 的 C 實現之上,提供快速的向量化操作,高效產生大量隨機數陣列。

注意:所有程式碼執行都在瀏覽器中使用 Pyodide(編譯為 WebAssembly 的 Python)完成。沒有程式碼或資料會發送到我們的伺服器,確保完全的隱私和安全。

Python 隨機數產生專家提示

🔄

使用種子實現可重復性

使用 random.seed(42) 設定種子值以獲得可重復的結果。對於調試和科學實驗至關重要。

🔒

安全最佳實踐

始終使用 secrets 模組產生密碼、API 密鑰和安全令牌。切勿將 random 用於加密目的。

使用 NumPy 提升性能

對於產生大量隨機數陣列,NumPy 比使用 random 模組的列表推導式快得多。

技術規格

演演演演算法

  • Mersenne Twister(random 模組)
  • os.urandom()(secrets 模組)
  • NumPy Mersenne Twister(C 實現)

性能

  • random: 約 100 萬數字/秒
  • secrets: 約 10 萬數字/秒(由於 OS 調用較慢)
  • numpy: 約 1000 萬 + 數字/秒(向量化)

最佳使用場景

  • random: 遊戲、模擬、一般程式設計
  • secrets: 密碼、令牌、加密
  • numpy: 資料科學、大規模模擬

為甚麼學習 Python 隨機數產生?

🎯

多樣化方法

  • 多種模組滿足不同需求
  • 從簡單遊戲到加密應用
  • 易於學習,功能強大
💼

實際應用

  • 用於資料科學和機器學習
  • 測試和 QA 的必備技能
  • 安全應用的關鍵技術
🌟

行業標準

  • Python 是資料科學首選語言
  • 廣泛用於生產系統
  • 強大的社區支援和文檔

全球開發者信賴 • 交互式學習即時執行 • 免費教育資源