Python中的sys模塊、random模塊和math模塊
一、sys運行時環境模塊
sys模塊負責程序與python解釋器的交互,提供瞭一系列的函數和變量,用於操控python的運行時環境。
用法:
- sys.argv:命令行參數List,第一個元素是程序本身路徑
- sys.modules.keys():返回所有已經導入的模塊列表
- sys.exc_info():獲取當前正在處理的異常類,exc_type、exc_value、exc_traceback當前處理的異常詳細信息
- sys.exit(n):退出程序,正常退出時exit(0)
- sys.hexversion:獲取Python解釋程序的版本值,16進制格式如:0x020403F0
- sys.version:獲取Python解釋程序的版本信息
- sys.maxint:最大的Int值
- sys.maxunicode:最大的Unicode值
- sys.modules:返回系統導入的模塊字段,key是模塊名,value是模塊
- sys.path:返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值
- sys.platform:返回操作系統平臺名稱
- sys.stdout:標準輸出
- sys.stdin:標準輸入
- sys.stderr:錯誤輸出
- sys.exc_clear():用來清除當前線程所出現的當前的或最近的錯誤信息
- sys.exec_prefix:返回平臺獨立的python文件安裝的位置
- sys.byteorder:本地字節規則的指示器,big-endian平臺的值是'big',little-endian平臺的值是'little'
- sys.copyright:記錄python版權相關的東西
- sys.api_version:解釋器的C的API版本
import sys print('命令行參數如下:') for i in sys.argv: print(i) print('\n\nPython 路徑為:', sys.path, '\n') #命令行參數如下: #C:/PycharmProjects/untitled/run.py #Python 路徑為: ['C:\\PycharmProjects\\untitled', 'C:\\PycharmProjects\\untitled', 'C:\\Python\\Python38\\python38.zip', 'C:\\Python\\Python38\\DLLs', 'C:\\Python\\Python38\\lib', 'C:\\Python\\Python38', 'C:\\PycharmProjects\\untitled\\venv', 'C:\\PycharmProjects\\untitled\\venv\\lib\\site-packages', 'C:\\Users\\bobin.yang\\AppData\\Roaming\\Python\\Python38\\site-packages', 'C:\\Python\\Python38\\lib\\site-packages', 'C:\\Python\\Python38\\lib\\site-packages\\win32', 'C:\\Python\\Python38\\lib\\site-packages\\win32\\lib', 'C:\\Python\\Python38\\lib\\site-packages\\Pythonwin']
二、random隨機數模塊
隨機數可以用於數學,遊戲,安全等領域中,還經常被嵌入到算法中,用以提高算法效率,並提高程序的安全性。
Python包含以下常用隨機數函數:
- random(): 隨機生成下一個實數,它在[0,1)范圍內。
- randint(x,y): 隨機生一個整數int類型,可以指定這個整數的范圍。
- randrange ([start,] stop [,step]): 從指定范圍內,按指定基數遞增的集合中獲取一個隨機數,基數默認值為 1
- uniform(x, y): 隨機生成下一個實數,它在[x,y]范圍內。
- choice(seq): 從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數。
- sample(sequence,length): 可以從指定的序列中,隨機的截取指定長度的片斷,不修改原序列。
- shuffle(lst): 將序列的所有元素隨機排序。
- seed([x]): 改變隨機數生成器的種子seed。如果你不瞭解其原理,你不必特別去設定seed,Python會幫你選擇seed。
import random # 大於0且小於1之間的小數 print(random.random()) # 0.42866657593385415 # 大於等於1且小於等於3之間的整數 print(random.randint(1, 3)) # 3 # 大於等於1且小於3之間的整數 print(random.randrange(1, 3)) # 2 # 大於1小於3的小數,如1.927109612082716 print(random.uniform(1, 3)) # 2.1789596280319605 # 列表內的任意一個元素,即1或者‘23'或者[4,5] print(random.choice([1, '23', [4, 5]])) # [4, 5] # random.sample([], n),列表元素任意n個元素的組合,示例n=2 print(random.sample([1, '23', [4, 5]], 2)) # ['23', 1] lis = [1, 3, 5, 7, 9] # 打亂l的順序,相當於"洗牌" random.shuffle(lis) print(lis) # [9, 1, 5, 7, 3]
三、math數學
math模塊為浮點運算提供瞭對底層C函數庫的訪問:
import math print(math.cos(math.pi / 4)) # 0.70710678118654757 print(math.log(1024, 2)) # 10.0
到此這篇關於Python中的sys模塊、random模塊和math模塊的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Python如何生成隨機數及random隨機數模塊應用
- python中random模塊詳解
- Python標準庫之Math,Random模塊使用詳解
- Python之random庫的常用函數有哪些
- Python+random模塊實現隨機抽樣