python運算符使用
*****
| 運算符 | 說明 | 示例 | 結果 |
| --- | --- | --- | --- |
| + | 加法 | 3+5 | 8 |
| - | 減法 | 5-3 | 2 |
| * | 乘法 | 3*5 | 15 |
| / | 除法 (浮點數) | 15/3 | 5.0 |
| // | 商(整除) | 7/3 | 2 |
| % | 除法 (取余) | 7/4 | 3 |
| ** | 冥 | 10**3(相當于`$ 10^3 $`) | 1000 |
使用divmode(7,3)函數會同時得到商和余數,返回的只是一個元組(數組):
```
>>>divmode(7,3)
(2,1)
```
>[danger] 注:在python中 0 不能為除數
<br>
**增強型賦值運算符**
運算符和 = 結合可以構成增強型賦值運算符
| 運算符 | 示例 | 等價 |
| --- | --- | --- |
| += | a += 2 | a = a + 2 |
| -= | a -= 2 | a = a - 2 |
| * | a *= 2 | a = a * 2 |
| / | a /= 2 | a = a / 2 |
| // | a //= 2 | a = a // 2 |
| % | a %= 2 | a = a % 2 |
| ** | a **= 2 | a = a ** 2 |
<br>
**比較運算符**
比較運算符 返回1為真,返回0為假,分別于True和False等價
以下假設變量a = 2 , b = 3
| 運算符 | 解釋 | 例 |
| --- | --- | --- |
| == | 兩邊的值相等 | (a == b) 返回False |
| != | 兩邊的值不相等 | (a != b) 返回True |
| > | 大于 | (a > b) 返回False |
| < | 小于 | (a < b) 返回True |
| >= | 大于等于 | (a >= b) 返回False |
| <= | 小于等于 | (a <= b) 返回True|
<br>
**邏輯運算符**
| 運算符 | 格式 | 說明 |
| --- | --- | --- |
| or <br> 邏輯與 | a or b | a為True, 則返回True <br> a為false, 則返回b |
| and <br> 邏輯或 | a and b | a為True, 則返回b <br> a為false, 則返回false |
| not <br> 邏輯非 | a not b | a為True, 則返回false <br> a為false, 則返回true |
>[danger] 邏輯運算符會存在短路現象
> 例: true or 30/0 后邊的表達式語法報錯 但是因為第一個值為true 后面就不會執行 表達式直接返回True
> false and 30/0 后邊的表達式語法報錯 但是因為第一個值為false 后面就不會執行 表達式直接返回false
<br>
**同一運算符**
同一運算符用于標膠兩個對象的儲存單元,實際比較的是對象的地址
| 運算符 | 描述 |
| --- | --- |
| is | is是判斷兩個標識符是否引用了同一個對象 |
| is not | is not是判斷兩個標識符是否引用了不同的對象 |
>is與 == 的區別
> is是判斷兩個變量是否引用了同一個對象,即比較對象的地址
>==是判斷變量引用對象的值是否相等,默認調用對象的__eq__()方法
>[danger] 整數緩存問題
> * 在命令行中python 僅對比較小的整數進行,緩存范圍為(-5,256)而并非所有整數對象,
> * 在python腳本文件中,因為解釋器做了優化,返貨闊大(-5,任意大小)