由于最近經常使用到Python中random,math和time``datetime模塊, 所以決定花時間系統的學習一下
1. math模塊
math中的函數不可以用于太過復雜的數的運算, 如果需要復雜數的運行最好使用cmath模塊中同名函數, 如果想要更加高級的數學功能,可以考慮選擇標準庫之外的numpy和scipy模塊,它們不但支持數組和矩陣運算,還有豐富的數學和物理方程可供使用
1.1. 數學常量
math.pi 這個數學常量等于 3.141592...
math.e 這個數學常量 e = 2.718281...,
1.2. 常用簡單函數
math.ceil(x) : 對x向上取整,返回最小整數值大于或者等于x
math.floor(x) : 對x向下取整, 返回整數值小于或者等于x
math.fabs(x) 取絕對值
math.factorial(x) 求階乘, 即x!
math.exp(x) 求e的x次方
1.3. 三角函數
以下函數都接收一個弧度(radian)為單位的x作為參數
math.degrees(x) 角度制轉化為弧度制
math.radians(x) 弧度制轉化為角度制
1.5. 雙曲函數和特殊函數
math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x)
還有些函數基本沒用過
2. random模塊
random模塊的作用是產生隨機數, 這個模塊實現了偽隨機數產生器
1.1. 常用函數
random.seed([x]) 用戶初始化一個隨機數種子, 可選參數可以是任何hashtable對象,默認使用系統時間
random.randint(a, b) 返回一個a到b之間的整數
random.randrange([start], stop[, step]) 從指定范圍內,按指定基數遞增的集合中 獲取一個隨機數。如:random.randrange(10, 100, 2),結果相當于從[10, 12, 14, 16, … 96, 98]序列中獲取一個隨機數。random.randrange(10, 100, 2)在結果上與 random.choice(range(10, 100, 2) 等效。
random.randrange(start, stop, step)等價于random.choice(range(start, stop, step))
1.2. 隨機挑選和排序
random.choice(sequence) : 從序列中獲取一個隨機元素. 參數sequence表示一個有序類型。這里要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬于sequence
1.3. 隨機生成實數
生成的實數符合均勻分布(uniform distribution)
random.random() 隨機生成下一個實數,它在[0,1)范圍內。
random.uniform(a,b) 隨機生成下一個實數,它在[a,b]范圍內。
random.gauss(mu,sigma) 隨機生成符合高斯分布的隨機數,mu,sigma為高斯分布的兩個參數。
random.expovariate(lambd) 隨機生成符合指數分布的隨機數,lambd為指數分布的參數。
其余是一些目前沒用過的函數, 以后用到了再補充
3. 參考鏈接
新聞熱點
疑難解答
圖片精選