# Python 數字
> 原文: [https://thepythonguru.com/python-numbers/](https://thepythonguru.com/python-numbers/)
* * *
于 2020 年 5 月 7 日更新
* * *
此數據類型僅支持諸如`1`,`31.4`,`-1000`,`0.000023`和`88888888`之類的數值。
Python 支持 3 種不同的數字類型。
1. `int`-用于整數值,例如`1`,`100`,`2255`,`-999999`,`0`和`12345678`。
2. `float`-用于像`2.3`,`3.14`,`2.71`,`-11.0`之類的浮點值。
3. `complex`-適用于`3+2j`,`-2+2.3j`,`10j`,`4.5+3.14j`等復數。
## 整數
* * *
python 中的整數字面值屬于`int`類。
```py
>>> i = 100
>>> i
100
```
## 浮點數
* * *
浮點數是帶有小數點的值。
```py
>>> f = 12.3
>>> f
12.3
```
需要注意的一點是,當數字運算符的操作數之一是浮點值時,結果將是浮點值。
```py
>>> 3 * 1.5
4.5
```
## 復數
* * *
如您所知,復數由實部和虛部兩部分組成,用`j`表示。 您可以這樣定義復數:
```py
>>> x = 2 + 3j # where 2 is the real part and 3 is imaginary
```
## 確定類型
* * *
Python 具有`type()`內置函數,可用于確定變量的類型。
```py
>>> x = 12
>>> type(x)
?<class 'int'>
```
## Python 運算符
* * *
Python 具有不同的運算符,可讓您在程序中執行所需的計算。
`+`,`-`和`*`可以正常工作,其余的運算符需要一些解釋。
| 名稱 | 含義 | 示例 | 結果 |
| --- | --- | --- | --- |
| `+` | 加法 | `15+20` | `35` |
| `-` | 減法 | `24.5-3.5` | `21.0` |
| `*` | 乘法 | `15*4` | `60` |
| `/` | 浮點除法 | `4/5` | `0.8` |
| `//` | 整數除法 | `4//5` | `0` |
| `**` | 求冪 | `4**2` | `16` |
| `%` | 余數 | `27%4` | `3` |
**浮點除法(`/`)**:`/`運算符進行除法并以浮點數形式返回結果,這意味著它將始終返回小數部分。 例如
```py
>>> 3/2?
1.5
```
**整數除法(`//`)**:`//`執行整數除法,即它將截斷答案的小數部分并僅返回整數。
```py
>>> 3//2?
1
```
**冪運算符(`**`)**:此運算符有助于計算`^b`(a 的 b 次冪)。 讓我們舉個例子:
```py
>>> 2 ** 3 # is same as 2 * 2 * 2
8
```
**余數運算符(`%`)**:`%`運算符也稱為余數或模數運算符。 該運算符除法后返回余數。 例如:
```py
>>> 7 % 2
1
```
## 運算符優先級
* * *
在 python 中,每個表達式都使用運算符優先級進行求值。 讓我們以一個例子來闡明它。
```py
>>> 3 * 4 + 1
```
在上面的表達式中,將對哪個運算進行第一個加法或乘法運算? 為了回答這樣的問題,我們需要在 python 中引用運算符優先級列表。 下圖列出了 python 優先級從高到低的順序。

如您在上表中所見`*`在`+`之上,因此`*`將首先出現,然后加法。 因此,以上表達式的結果將為`13`。
```py
>>> 3 * 4 + 1
>>> 13
```
讓我們再舉一個例子來說明另一個概念。
```py
>>> 3 + 4 - 2
```
在以上表達式中,將首先進行加法或減法。 從表`+`和`-`的優先級相同,然后將它們從左到右進行求值,即先加法,然后減法。
```py
>>> 3 + 4 - 2
>>> 5
```
該規則的唯一例外是賦值運算符(`=`),它從右到左出現。
```py
a = b = c
```
您可以使用括號`()`更改優先級,例如:
```py
>> 3 * (4 + 1)
>> 15
```
從優先級表中可以看出,`()`具有最高優先級,因此在表達式`3 * (4 + 1)`中,先求值`(4 + 1)`,然后相乘。 因此,您可以使用`()`更改優先級。
## 復合賦值
* * *
這些運算符使您可以編寫快捷方式分配語句。 例如:
```py
>>> count = 1
>>> count = count + 1
>>> count
2
```
通過使用增強分配運算符,我們可以將其編寫為:
```py
>>> count = 1
>>> count += 1
>>> count
2
```
類似地,您可以將`-`,`%`,`//`,`/`,`*`和`**`與賦值運算符一起使用以構成擴展賦值運算符。
| 運算符 | 名稱 | 示例 | 等價于 |
| --- | --- | --- | --- |
| `+=` | 加法賦值 | `x += 4` | `x = x + 4` |
| `-=` | 減法賦值 | `x -= 2` | `x = x - 2` |
| `*=` | 乘法賦值 | `x *= 5` | `x = x * 5` |
| `/*=` | 除法賦值 | `x /= 5` | `x = x / 5` |
| `//*=` | 整數除法賦值 | `x //= 5` | `x = x // 5` |
| `%*=` | 余數賦值 | `x %= 5` | `x = x % 5` |
| `**=` | 指數賦值 | `x **= 5` | `x = x ** 5` |
在下一篇文章中,我們將學習 python 字符串。
* * *
* * *
- 初級 Python
- python 入門
- 安裝 Python3
- 運行 python 程序
- 數據類型和變量
- Python 數字
- Python 字符串
- Python 列表
- Python 字典
- Python 元組
- 數據類型轉換
- Python 控制語句
- Python 函數
- Python 循環
- Python 數學函數
- Python 生成隨機數
- Python 文件處理
- Python 對象和類
- Python 運算符重載
- Python 繼承與多態
- Python 異常處理
- Python 模塊
- 高級 Python
- Python *args和**kwargs
- Python 生成器
- Python 正則表達式
- 使用 PIP 在 python 中安裝包
- Python virtualenv指南
- Python 遞歸函數
- __name__ == "__main__"是什么?
- Python Lambda 函數
- Python 字符串格式化
- Python 內置函數和方法
- Python abs()函數
- Python bin()函數
- Python id()函數
- Python map()函數
- Python zip()函數
- Python filter()函數
- Python reduce()函數
- Python sorted()函數
- Python enumerate()函數
- Python reversed()函數
- Python range()函數
- Python sum()函數
- Python max()函數
- Python min()函數
- Python eval()函數
- Python len()函數
- Python ord()函數
- Python chr()函數
- Python any()函數
- Python all()函數
- Python globals()函數
- Python locals()函數
- 數據庫訪問
- 安裝 Python MySQLdb
- 連接到數據庫
- MySQLdb 獲取結果
- 插入行
- 處理錯誤
- 使用fetchone()和fetchmany()獲取記錄
- 常見做法
- Python:如何讀取和寫入文件
- Python:如何讀取和寫入 CSV 文件
- 用 Python 讀寫 JSON
- 用 Python 轉儲對象