Python/基礎數學

Python使用與C、Java類似的運算符,支持整數與浮點數的數學運算。同時還支持複數運算與無窮位數(實際受限於計算機的能力)的整數運算。除了求絕對值函數abs()外,大多數數學函數處於mathcmath模塊內。前者用於實數運算,而後者用於複數運算。使用時需要先導入它們,比如:

>>> 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 < ca < b and b < c等價。C++的結果與Python不一樣,首先它會先計算a < b,根據兩者的大小獲得0或者1兩個值之一,然後再與c進行比較。