python運(yùn)算符
0. 什么是運(yùn)算符?
本章節(jié)主要說(shuō)明Python的運(yùn)算符。舉個(gè)簡(jiǎn)單的例子 4 +5 = 9 。 例子中,4和5被稱為操作數(shù),“+”號(hào)為運(yùn)算符。
Python語(yǔ)言支持以下類型的運(yùn)算符:
算術(shù)運(yùn)算符
比較(關(guān)系)運(yùn)算符
賦值運(yùn)算符
邏輯運(yùn)算符
位運(yùn)算符
成員運(yùn)算符
身份運(yùn)算符
運(yùn)算符優(yōu)先級(jí)
接下來(lái)讓我們一個(gè)個(gè)來(lái)學(xué)習(xí)Python的運(yùn)算符。
1. Python算術(shù)運(yùn)算符
以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 |
描述 |
實(shí)例 |
---|---|---|
+ |
加 - 兩個(gè)對(duì)象相加 |
a + b 輸出結(jié)果 30 |
- |
減 - 得到 負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù) |
a - b 輸出結(jié)果 -10 |
* |
乘 - 兩個(gè)數(shù)相乘或是返 回一個(gè)被重復(fù)若干次的字符串 |
a * b 輸出結(jié)果 200 |
/ |
除 - x除以y |
b / a 輸出結(jié)果 2 |
% |
取模 - 返回除法的余數(shù) |
b % a 輸出結(jié)果 0 |
** |
冪 - 返回x的y次冪 |
a**b 為10的20次方, 輸出結(jié)果 100000000000000000000 |
// |
取整除 - 返回商的整數(shù)部分 |
9//2 輸出結(jié)果 4 , 9.0//2.0 輸出結(jié)果 4.0 |
以下實(shí)例演示了Python所有算術(shù)運(yùn)算符的操作
兩數(shù)相加減
>>> a = 10
>>> b = 20
>>> a + b
30
>>> b - a
10
兩數(shù)相乘除
>>> a = 10
>>> b = 20
>>> a * b
200
>>> b / a
2.0
取模取余
>>> a = 10
>>> b = 3
>>> a // b
3
>>> a % b
1
2. Python比較運(yùn)算符
以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 |
描述 |
實(shí)例 |
---|---|---|
== |
等于 - 比較對(duì)象是否相等 |
(a == b) 返回 False。 |
!= |
不等于 - 比較兩個(gè)對(duì)象是否不相等 |
(a != b) 返回 true. |
> |
大于 - 返回x是否大于y |
(a > b) 返回 False。 |
< |
小于 - 返回x是否小于y。所有比較 運(yùn)算符返回1表示真,返回0表示假。這分別與特殊的 變量True和False等價(jià)。注意,這些變量名的大寫(xiě)。 |
(a < b) 返回 true。 |
>= |
大于等于 - 返回x是否大于等于y。 |
(a >= b) 返回 False。 |
<= |
小于等于 - 返回x是否小于等于y。 |
(a <= b) 返回 true。 |
以下實(shí)例演示了Python所有比較運(yùn)算符的操作:
判斷兩數(shù)是否相等
>>> a = 1
>>> b = 1
>>> a == b
True
>>> a != b
False
判斷 a 是否大于 b
>>> a = 1
>>> b = 2
>>> a > b
False
>>> a < b
True
3. Python賦值運(yùn)算符
以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 |
描述 |
實(shí)例 |
---|---|---|
= |
簡(jiǎn)單的賦值運(yùn)算符 |
c = a + b 將 a + b 的運(yùn)算結(jié)果賦值為 c |
+= |
加法賦值運(yùn)算符 |
c += a 等效于 c = c + a |
-= |
減法賦值運(yùn)算符 |
c -= a 等效于 c = c - a |
*= |
乘法賦值運(yùn)算符 |
c = a 等效于 c = c a |
/= |
除法賦值運(yùn)算符 |
c /= a 等效于 c = c / a |
%= |
取模賦值運(yùn)算符 |
c %= a 等效于 c = c % a |
**= |
冪賦值運(yùn)算符 |
c = a 等效于 c = c a |
//= |
取整除賦值運(yùn)算符 |
c //= a 等效于 c = c // a |
以下實(shí)例演示了Python所有賦值運(yùn)算符的操作:
這里只以加減為例,其它的同理
>>> a = 1
>>> a += 2
>>> a
3
>>> a += 2
>>> a
5
>>> a -= 2
>>> a
3
4. Python位運(yùn)算符
按位運(yùn)算符是把數(shù)字看作二進(jìn)制來(lái)進(jìn)行計(jì)算的。Python中的按位運(yùn)算法則如下:
運(yùn)算符 |
描述 |
實(shí)例 |
---|---|---|
& |
按位與運(yùn)算符 |
(a & b) 輸出結(jié)果 12 ,二進(jìn)制解釋: 0000 1100 |
| |
按位或運(yùn)算符 |
(a | b) 輸出結(jié)果 61 ,二進(jìn)制解釋: 0011 1101 |
^ |
按位異或運(yùn)算符 |
(a ^ b) 輸出結(jié)果 49 ,二進(jìn)制解釋: 0011 0001 |
~ |
按位取反運(yùn)算符 |
(~a ) 輸出結(jié)果 -61 ,二進(jìn)制解釋: 1100 0011, 在一個(gè)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼形式。 |
<< |
左移動(dòng)運(yùn)算符 |
a << 2 輸出結(jié)果 240 ,二進(jìn)制解釋: 1111 0000 |
>> |
右移動(dòng)運(yùn)算符 |
a >> 2 輸出結(jié)果 15 ,二進(jìn)制解釋: 0000 1111 |
以下實(shí)例演示了Python所有位運(yùn)算符的操作:
與運(yùn)算
>>> a = 60 # 60 = 0011 1100
>>> b = 13 # 13 = 0000 1101
>>> c = 0
>>> a & b # 12 = 0000 1100
12
或運(yùn)算
>>> a | b # 61 = 0011 1101
61
異或運(yùn)算
>>> a ^ b # 49 = 0011 0001
49
取反運(yùn)算
>>> a = 60 # 60 = 0011 1100
>>> ~a # -61 = 1100 0011
-61
左移動(dòng)運(yùn)算符
>>> a = 60 # 60 = 0011 1100
>>> a << 2 # 240 = 1111 0000
240
右移動(dòng)運(yùn)算符
>>> a = 60 # 60 = 0011 1100
>>> a >> 2 # 15 = 0000 1111
15
5. Python邏輯運(yùn)算符
Python語(yǔ)言支持邏輯運(yùn)算符,以下假設(shè)變量 a 為 10, b為 20:
運(yùn) | 邏 | 描述 算 | 輯表 | 符 | 達(dá)式 | |
實(shí)例 |
||
---|---|---|---|
and |
x and y |
布爾”與” - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計(jì)算值。 |
(a and b) 返回 20。 |
x or y |
布爾”或” - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計(jì)算值。 |
(a or b) 返回 10。 |
|
not |
not x |
布爾”非” - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 |
not(a and b) 返回 False |
以上實(shí)例輸出結(jié)果:
and:必須都為True,才能返回True,否則返回False
>>> True and True
True
>>> True and False
False
or:只要有一個(gè)為True,就返回True,其他返回False
>>> True or False
True
>>> True or True
True
not:與原值取反
>>> not True
False
>>> not False
True
6. Python成員運(yùn)算符
除了以上的一些運(yùn)算符之外,Python還支持成員運(yùn)算符,測(cè)試實(shí)例中包含了一系列的成員,包括字符串,列表或元組。
運(yùn)算符 |
描述 |
實(shí)例 |
---|---|---|
in |
如果在指定的序列中找到 值返回True,否則返回False。 |
x 在 y序列中 , 如果x在y序列中返回True。 |
not in |
如果在指定的序列中沒(méi)有找到 值返回True,否則返回False。 |
x 不在 y序列中 , 如果x不在y序列中返回True。 |
以下實(shí)例演示了Python所有成員運(yùn)算符的操作:
>>> "Apple" in ["Apple", "Huawei"]
True
>>>
>>> "Vivo" not in ["Apple", "Huawei"]
True
7. Python身份運(yùn)算符
身份運(yùn)算符用于比較兩個(gè)對(duì)象的存儲(chǔ)單元
運(yùn) | 描述 算 | 符 | |
實(shí)例 |
|
---|---|---|
is |
is是判斷兩個(gè)標(biāo) 識(shí)符是不是引用自一個(gè)對(duì)象 |
x is y, 如果 id(x) 等于 id(y) , is 返回結(jié)果 1 |
is not |
is not是判斷兩個(gè)標(biāo) 識(shí)符是不是引用自不同對(duì)象 |
x is not y, 如果 id(x) 不等于 id(y). is not 返回結(jié)果 1 |
以下實(shí)例演示了Python所有身份運(yùn)算符的操作:
>>> a = 1000
>>> b = 1000
>>> id(a)
4532310864
>>> id(b)
4532311632
>>> a is b
False
8. Python運(yùn)算符優(yōu)先級(jí)
以下表格列出了從最高到最低優(yōu)先級(jí)的所有運(yùn)算符:
運(yùn)算符 |
描述 |
---|---|
** |
指數(shù) (最高優(yōu)先級(jí)) |
~,+,- |
按位翻轉(zhuǎn), 一元加號(hào)和減號(hào) (最后兩個(gè)的方法名為 +@ 和 -@) |
*,/,%,// |
乘,除,取模和取整除 |
+,- |
加法減法 |
>>,<< |
右移,左移運(yùn)算符 |
& |
位 ‘AND’ |
^,| |
位運(yùn)算符 |
<=,<,>,>= |
比較運(yùn)算符 |
<>,==,!= |
等于運(yùn)算符 |
=,%=,/=,//=,-=,+=,*=,**= |
賦值運(yùn)算符 |
is,is not |
身份運(yùn)算符 |
in,not in |
成員運(yùn)算符 |
not,or,and |
邏輯運(yùn)算符 |
以下實(shí)例演示了Python運(yùn)算符優(yōu)先級(jí)的操作:
>>> 20 + ( 30 * 2 ) / 5
32.0
計(jì)算順序是
30*2 = 60
60/5 = 12.0
20 + 12.0 = 32.0
審核編輯:符乾江
-
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627 -
運(yùn)算符
+關(guān)注
關(guān)注
0文章
172瀏覽量
11079
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論