運(yùn)算符是可以操縱操作數(shù)值的結(jié)構(gòu)。如下一個(gè)表達(dá)式:10 + 20 = 30。這里,10和20稱為操作數(shù),+則被稱為運(yùn)算符。
Python語言支持以下類型的運(yùn)算符 -
下面讓我們依次來看看所有的運(yùn)算符。
假設(shè)變量a的值是10,變量b的值是21,則 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
+ |
加法運(yùn)算,將運(yùn)算符兩邊的操作數(shù)增加。 | a + b = 31 |
- |
減法運(yùn)算,將運(yùn)算符左邊的操作數(shù)減去右邊的操作數(shù)。 | a – b = -11 |
* |
乘法運(yùn)算,將運(yùn)算符兩邊的操作數(shù)相乘 | a * b = 210 |
/ |
除法運(yùn)算,用右操作數(shù)除左操作數(shù) | b / a = 2.1 |
% |
模運(yùn)算,用右操作數(shù)除數(shù)左操作數(shù)并返回余數(shù) | b % a = 1 |
** |
對(duì)運(yùn)算符進(jìn)行指數(shù)(冪)計(jì)算 | a ** b,表示10的21次冪 |
// |
地板除 - 操作數(shù)的除法,其結(jié)果是刪除小數(shù)點(diǎn)后的商數(shù)。 但如果其中一個(gè)操作數(shù)為負(fù)數(shù),則結(jié)果將被保留,即從零(向負(fù)無窮大)舍去 | 9//2 = 4 , 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0 |
有關(guān)算術(shù)運(yùn)算符的示例代碼,請(qǐng)參考::http://www.yiibai.com/python/arithmetic_operators_example.html
比較(關(guān)系)運(yùn)算符比較它們兩邊的值,并確定它們之間的關(guān)系。它們也稱為關(guān)系運(yùn)算符。假設(shè)變量a的值10,變量b的值是20,則 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
== |
如果兩個(gè)操作數(shù)的值相等,則條件為真。 | (a == b)求值結(jié)果為 false |
!= |
如果兩個(gè)操作數(shù)的值不相等,則條件為真。 | (a != b)求值結(jié)果為 true |
> |
如果左操作數(shù)的值大于右操作數(shù)的值,則條件成為真。 | (a > b)求值結(jié)果為 false |
< |
如果左操作數(shù)的值小于右操作數(shù)的值,則條件成為真。 | (a < b)求值結(jié)果為 true |
>= |
如果左操作數(shù)的值大于或等于右操作數(shù)的值,則條件成為真。 | (a >= b)求值結(jié)果為 false |
<= |
如果左操作數(shù)的值小于或等于右操作數(shù)的值,則條件成為真。 | (a <= b)求值結(jié)果為 true |
有關(guān)比較(關(guān)系)運(yùn)算符的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/comparison_operators_example.html
假設(shè)變量a的值10,變量b的值是20,則 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
= |
將右側(cè)操作數(shù)的值分配給左側(cè)操作數(shù) | c = a + b表示將a + b的值分配給c |
+= |
將右操作數(shù)相加到左操作數(shù),并將結(jié)果分配給左操作數(shù) | c + = a等價(jià)于c = c + a |
-= |
從左操作數(shù)中減去右操作數(shù),并將結(jié)果分配給左操作數(shù) | c -= a 等價(jià)于 c = c - a |
*= |
將右操作數(shù)與左操作數(shù)相乘,并將結(jié)果分配給左操作數(shù) | c *= a 等價(jià)于 c = c * a |
/= |
將左操作數(shù)除以右操作數(shù),并將結(jié)果分配給左操作數(shù) | c /= a 等價(jià)于 c = c / a |
%= |
將左操作數(shù)除以右操作數(shù)的模數(shù),并將結(jié)果分配給左操作數(shù) | c %= a 等價(jià)于 c = c % a |
**= |
執(zhí)行指數(shù)(冪)計(jì)算,并將值分配給左操作數(shù) | c **= a 等價(jià)于 c = c ** a |
//= |
運(yùn)算符執(zhí)行地板除運(yùn)算,并將值分配給左操作數(shù) | c //= a 等價(jià)于 c = c // a |
有關(guān)賦值運(yùn)算符的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/assignment_operators_example.html
Python語言支持以下邏輯運(yùn)算符。假設(shè)變量a的值為True,變量b的值為False,那么 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
and |
如果兩個(gè)操作數(shù)都為真,則條件成立。 | (a and b)的結(jié)果為False |
or |
如果兩個(gè)操作數(shù)中的任何一個(gè)非零,則條件成為真。 | (a or b)的結(jié)果為True |
not |
用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。 | not(a and b) 的結(jié)果為True。 |
有關(guān)邏輯運(yùn)算符的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/logical_operators_example.html
按位運(yùn)算符執(zhí)行逐位運(yùn)算。 假設(shè)變量a = 60; 和變量b = 13; 現(xiàn)在以二進(jìn)制格式,它們將如下 -
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
Python的內(nèi)置函數(shù)bin()可用于獲取整數(shù)的二進(jìn)制表示形式。
以下是Python語言支持位運(yùn)算操作符 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
& |
如果它存在于兩個(gè)操作數(shù)中,則操作符復(fù)制位到結(jié)果中 | (a & b) 結(jié)果表示為 0000 1100 |
![]() |
如果它存在于任一操作數(shù),則復(fù)制位。 | (a b) = 61 結(jié)果表示為 0011 1101 |
^ |
二進(jìn)制異或。如果它是一個(gè)操作數(shù)集合,但不是同時(shí)是兩個(gè)操作數(shù)則將復(fù)制位。 | (a ^ b) = 49 (結(jié)果表示為 0011 0001) |
~ |
二進(jìn)制補(bǔ)碼,它是一元的,具有“翻轉(zhuǎn)”的效果。 | (~a ) = -61有符號(hào)的二進(jìn)制數(shù),表示為1100 0011的補(bǔ)碼形式。 |
<< |
二進(jìn)制左移,左操作數(shù)的值由右操作數(shù)指定的位數(shù)左移。 | a << 2 = 240 (結(jié)果表示為 1111 0000) |
>> |
二進(jìn)制右移,左操作數(shù)的值由右操作數(shù)指定的位數(shù)右移。 | a >> 2 = 15(結(jié)果表示為0000 1111) |
有關(guān)按位運(yùn)算符的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/bitwise_operators_example.html
Python成員運(yùn)算符測(cè)試給定值是否為序列中的成員,例如字符串,列表或元組。 有兩個(gè)成員運(yùn)算符,如下所述 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
in |
如果在指定的序列中找到一個(gè)變量的值,則返回true,否則返回false。 |
- |
not in |
如果在指定序列中找不到變量的值,則返回true,否則返回false。 |
- |
有關(guān)成員運(yùn)算符的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/membership_operators_example.html
身份運(yùn)算符比較兩個(gè)對(duì)象的內(nèi)存位置。常用的有兩個(gè)身份運(yùn)算符,如下所述 -
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
is |
如果運(yùn)算符任一側(cè)的變量指向相同的對(duì)象,則返回True,否則返回False。 |
|
is not |
如果運(yùn)算符任一側(cè)的變量指向相同的對(duì)象,則返回True,否則返回False。 |
- |
有關(guān)身份運(yùn)算符的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/identity_operators_example.html
下表列出了從最高優(yōu)先級(jí)到最低優(yōu)先級(jí)的所有運(yùn)算符,如下所示 -
| 序號(hào) | 運(yùn)算符 | 描述 |
|---|---|---|
| 1 | ** |
指數(shù)(次冪)運(yùn)算 |
| 2 | ~ + - |
補(bǔ)碼,一元加減(最后兩個(gè)的方法名稱是+@和-@) |
| 3 | * / % // |
乘法,除法,模數(shù)和地板除 |
| 4 | + - |
|
| 5 | >> << |
向右和向左位移 |
| 6 | & |
按位與 |
| 7 | ^ ![]() |
按位異或和常規(guī)的“OR” |
| 8 | <= < > >= |
比較運(yùn)算符 |
| 9 | <> == != |
等于運(yùn)算符 |
| 10 | = %= /= //= -= += *= **= |
賦值運(yùn)算符 |
| 11 | is is not |
身份運(yùn)算符 |
| 12 | in not in |
成員運(yùn)算符 |
| 13 | not or and |
邏輯運(yùn)算符 |
有關(guān)運(yùn)算符優(yōu)先級(jí)的示例代碼,請(qǐng)參考:http://www.yiibai.com/python/operators_precedence_example.html