天天看點

python文檔:數字

3.1.1. 數字

解釋器就像一個簡單的電腦一樣:你可以在裡面輸入一個表達式然後它會寫出答案。 表達式的文法很直接:運算符 +、-、*、/ 的用法和其他大部分語言一樣(比如 Pascal 或者 C 語言);括号 (()) 用來分組。比如:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # division always returns a floating point number
1.6      

整數(比如 2、4、20 )的類型是 int,有小數部分的(比如 5.0、1.6 )的類型是 float。 在這個手冊的後半部分我們會看到更多的數字類型。

除法運算 (/) 永遠傳回浮點數類型。如果要做 floor division 得到一個整數結果(忽略小數部分)你可以使用 // 運算符;如果要計算餘數,可以使用 %

>>> 17 / 3  # classic division returns a float
5.666666666666667
>>>
>>> 17 // 3  # floor division discards the fractional part
5
>>> 17 % 3  # the % operator returns the remainder of the division
2
>>> 5 * 3 + 2  # result * divisor + remainder
17      

Python

中,可以使用 ** 運算符來計算乘方

>>> 5 ** 2  # 5 squared
25
>>> 2 ** 7  # 2 to the power of 7
128      

等号 (=) 用于給一個變量指派。然後在下一個互動提示符之前不會有結果顯示出來:

>>> width = 20
>>> height = 5 * 9
>>> width * height
900      

如果一個變量未定義(未指派),試圖使用它時會向你提示錯誤:

>>> n  # try to access an undefined variable
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined      

Python中提供浮點數的完整支援;包含多種混合類型運算數的運算會把整數轉換為浮點數:

>>> 4 * 3.75 - 1
14.0      

在互動模式下,上一次列印出來的表達式被指派給變量 _。這意味着當你把Python用作桌面電腦時,繼續計算會相對簡單,比如:

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06      

這個變量應該被使用者當作是隻讀類型。不要向它顯式地指派——你會建立一個和它名字相同獨立的本地變量,它會使用魔法行為屏蔽内部變量。

​​

除了 int 和 float,Python也支援其他類型的數字,例如 Decimal 或者 Fraction。Python 也内置對 複數 的支援,使用字尾 j 或者 J 就可以表示虛數部分(例如 3+5j )。