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。

推薦閱讀: