Python/基礎數學
< Python
Python使用與C、Java類似的運算符,支持整數與浮點數的數學運算。同時還支持複數運算與無窮位數(實際受限於計算機的能力)的整數運算。除了求絕對值函數abs()
外,大多數數學函數處於math
和cmath
模塊內。前者用於實數運算,而後者用於複數運算。使用時需要先導入它們,比如:
>>> import math
>>> print(math.sin(math.pi/2))
1.0
fractions
模塊用於支持分數運算;decimal
模塊用於支持高精度的浮點數運算。
Python定義求余運行a % b
的值處於開區間[0, b)
內,如果b
是負數,開區間變為(b, 0]
。這是一個很常見的定義方式。不過其實它依賴於整除的定義。為了讓方程式:b * (a // b) + a % b = a
恆真,整除運行需要向負無窮小方向取值。比如7 // 3
的結果是2
,而(-7) // 3
的結果卻是-3
。這個算法與其它很多編程語言不一樣,需要注意,它們的整除運算會向0的方向取值。
Python允許像數學的常用寫法那樣連着寫兩個比較運行符。比如a < b < c
與a < b and b < c
等價。C++的結果與Python不一樣,首先它會先計算a < b
,根據兩者的大小獲得0或者1兩個值之一,然後再與c進行比較。