Python/Math
< Python
math
編輯- ceil:取大於等於x的最小的整數值,如果x是一個整數,則返回x
- copysign:把y的正負號加到x前面,可以使用0
- cos:求x的餘弦,x必須是弧度
- degrees:把x從弧度轉換成角度
- e:表示一個常量
- exp:返回math.e,也就是2.71828的x次方
- expm1:返回math.e的x(其值為2.71828)次方的值減1
- fabs:返回x的絕對值
- factorial:取x的階乘的值
- floor:取小於等於x的最大的整數值,如果x是一個整數,則返回自身
- fmod:得到x/y的餘數,其值是一個浮點數
- frexp:返回一個元組(m,e),其計算方式為:x分別除0.5和1,得到一個值的範圍
- fsum:對迭代器里的每個元素進行求和操作
- gcd:返回x和y的最大公約數
- hypot:如果x是不是無窮大的數字,則返回True,否則返回False
- isfinite:如果x是正無窮大或負無窮大,則返回True,否則返回False
- isinf:如果x是正無窮大或負無窮大,則返回True,否則返回False
- isnan:如果x不是數字True,否則返回False
- ldexp:返回x*(2**i)的值
- log:返回x的自然對數,默認以e為基數,base參數給定時,將x的對數返回給定的base,計算式為:log(x)/log(base)
- log10:返回x的以10為底的對數
- log1p:返回x+1的自然對數(基數為e)的值
- log2:返回x的基2對數
- modf:返回由x的小數部分和整數部分組成的元組
- pi:數字常量,圓周率
- pow:返回x的y次方,即x**y
- radians:把角度x轉換成弧度
- sin:求x(x為弧度)的正弦值
- sqrt:求x的平方根
- tan:返回x(x為弧度)的正切值
- trunc:返回x的整數部分
Cmath
編輯類似於math模塊,但支持複數。
random
編輯- random.random()用於生成一個0到1的隨機浮點數: 0 <= n < 1.0
- random.uniform(a, b),用於生成一個指定範圍內的隨機浮點數,兩個參數其中一個是上限,一個是下限。如果a > b,則生成的隨機數n: a <= n <= b。如果 a <b,
- random.randint(a, b),用於生成一個指定範圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= 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.choice從序列中獲取一個隨機元素。其函數原型為:random.choice(sequence)。參數sequence表示一個有序類型。這裏要說明 一下:sequence在python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬於sequence。有關sequence可以查看python手冊數據模型這一章。下面是使用choice的一些例子:
- random.shuffle(x[, random]),用於將一個列表中的元素打亂。
- random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。
Decimal
編輯支持十進制浮點數運算:
import decimal
plainFloat = 1/3.0
print plainFloat # 0.3333333333333333
decFloat = decimal.Decimal("0.33333333333333333333333333333333333333")
print decFloat # Decimal('0.33333333333333333333333333333333333333')
decFloat2 = decimal.Decimal(plainFloat)
print decFloat2 # Decimal('0.333333333333333314829616256247390992939472198486328125')
Fractions
編輯通過Fraction類,實現了分數算術(有理算術)。這是不失精度的運算。
from fractions import Fraction
oneThird = Fraction(1, 3)
floatOneThird = 1/3.0
print Fraction(0.25) # 1/4
print Fraction(floatOneThird) # 6004799503160661/18014398509481984
print Fraction(1, 3) * Fraction(2, 5) # 2/15
Statistics
編輯Python 3.4開始支持該模塊,提供了最基本的統計函數。
import statistics as stats
print stats.mean([1, 2, 3, 100]) # 26.5
print stats.median([1, 2, 3, 100]) # 2.5
print stats.mode([1, 1, 2, 3]) # 1
print stats.pstdev([1, 1, 2, 3]) # 0.82915...; population standard deviation
print stats.pvariance([1, 1, 2, 3]) # 0.6875; population variance