二、python運(yùn)算符

表達(dá)式

變量或(和)常量和運(yùn)算符(又叫操作符)的組合叫表達(dá)式。表達(dá)式中的變量或常量稱為操作數(shù),表達(dá)式可分為多種類別,具體取決于所用運(yùn)算符的類型。運(yùn)算符主要類型包括:算術(shù)運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符等。

算術(shù)運(yùn)算符

算術(shù)運(yùn)算符是用于完成基本的算術(shù)四則運(yùn)算的符號(hào)。

| 算術(shù)運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
| + | 加法運(yùn)算符 |1+1,a+b,可以直接作用于數(shù)值或變量。|
| - | 減法運(yùn)算符 | 2-1,a-b。 |
| * | 乘法運(yùn)算符 |22,ab。 |
| / | 除法運(yùn)算符 | 2/2,a/b。注:即使,分子分分母都為整型,
除法的結(jié)果總為浮點(diǎn)數(shù)。 |
| % | 取模運(yùn)算符 | 3%2,a%b。注:得到表達(dá)式整除后的余數(shù),
如3除以2商為1,余數(shù)為1。所以3%2=1。 |
| ** | 冪運(yùn)算符 | 3**2,a**b 。注:**符號(hào)后面的數(shù)為前面數(shù)的
指數(shù),如3**2即為3的2次方,所以3**2=9.|
| // | 取整除(f loor 除)運(yùn)算符 | 3//2,a//b。
注:取整并非四舍五入,而是向左取整。
如3//2=1,實(shí)際結(jié)果為1.5向數(shù)軸左邊取整為1;
-3//2=-2 ,實(shí)際結(jié)果為-1.5向數(shù)軸左邊取整為-2|

賦值運(yùn)算符

賦值運(yùn)算符的一般形式,var=expression。賦值運(yùn)算符的功能是把左邊的值或表達(dá)式的計(jì)算結(jié)果賦予左邊的變量。賦值運(yùn)算符具有右結(jié)合性,也就是說運(yùn)算時(shí)從右往左。如:a=1讀作1賦值給(變量)a。b=2讀作2賦值給(變量)a。c=a+b讀作a與b的和賦值給(變量)c。除了簡(jiǎn)單運(yùn)算符,還有與算術(shù)運(yùn)算符結(jié)合的復(fù)合運(yùn)算符。

|賦值運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
| = | 簡(jiǎn)單賦值運(yùn)算符 | a=1,b=1,c=a+b |
| += | 加法賦值運(yùn)算符 | a=0,a+=1相當(dāng)于a=a+1,
變量a必須先賦值才能被用于+=運(yùn)算符,
因?yàn)樵趐ython中,變量必須先聲明才能
使用,賦值運(yùn)算符又是從右向左運(yùn)算,所
以本例中中a=a+1,由于a之前沒有聲明,
所以會(huì)報(bào)錯(cuò)。以下的復(fù)合運(yùn)算符都遵從以
上規(guī)則。
|
| -= | 減法賦值運(yùn)算符 | a=0,a-=1相當(dāng)于a=a-1 |
| = | 乘法賦值運(yùn)算符 |a=1,a*=2相當(dāng)于a=a2 |
| /= | 除法賦值運(yùn)算符 | a=4,a/=2相當(dāng)于a=a/2 |
| %= | 取模賦值運(yùn)算符 | a=3,a%=2相當(dāng)于a=a%2 |
| = | 指數(shù)賦值運(yùn)算符 | a=2,a**=2相當(dāng)于a=a2 |
| //= | 取整除賦值運(yùn)算符 | a=3,a//=2相當(dāng)于a=a//1 |

比較(關(guān)系)運(yùn)算符

使用比較運(yùn)算符比較兩個(gè)值,結(jié)果是一個(gè)布爾值,要么是結(jié)果為 True,要么為 False。

|比較運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
|== | 等于 | 1==1,1==2,a==b,判斷數(shù)值或變量的值是否相等,
相等則為True,不等為False |
|!= | 不等于 | 1!=1,1!=2,a!=b,判斷數(shù)值或變量的值是否不相等,
不相等則為True,相等為False |
|is | 引用同一對(duì)象 | a=[1,2,3],b=[1,2,3],a is b結(jié)果為False,雖然a和b
值一樣,因?yàn)橐米圆煌膶?duì)象,所以會(huì)為False。 |
|is not | 引用不同的對(duì)象 |a=[1,2,3],b=[1,2,3],a is not b結(jié)果為True。 |
|> | 大于 |1>2, a>b |
| >= | 大于等于|1>=2, a>=b|
| < | 小于| 1<2, a<b |
| <= | 小于等于|1<=2, a<=b |

標(biāo)識(shí)運(yùn)算符

|標(biāo)識(shí)運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
|is | 引用同一對(duì)象 | a=[1,2,3],b=[1,2,3],a is b結(jié)果為False,雖然a和b
值一樣,因?yàn)橐米圆煌膶?duì)象,所以會(huì)為False。 |
|is not | 引用不同的對(duì)象 |a=[1,2,3],b=[1,2,3],a is not b結(jié)果為True。 |

邏輯運(yùn)算符

|邏輯運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
|and | 邏輯與 | True and True=True,True and False =False ,
False and False =False。
注:只有運(yùn)算符兩側(cè)全為True時(shí),結(jié)果才為True。 |
|or | 邏輯或 | True and True=True,True and False =True,
False and False =False。
注:只要運(yùn)算符兩側(cè)有一個(gè)為True,結(jié)果就為True。 |
|not | 邏輯非 | not True =False,not False =True。注:相反結(jié)果,
為True時(shí)結(jié)果為False,為False結(jié)果為True |

python中數(shù)值型0在布爾值上下文環(huán)境中為Flase,其他數(shù)值為True;None值為False;空字符串‘’或""為False,非空為True;空序列、字典、集合、元組為False,非空為True。
邏輯與and: 返回的結(jié)果是決定結(jié)果的值。如x and y,如果 x 為真,結(jié)果由y決定,結(jié)果為 y ;如果 x 為假,結(jié)果由x決定,返回 x。非布爾值1 and 2結(jié)果為2,2 and 1結(jié)果為1;0 and 1和1 and 0結(jié)果都為0,其它字符串和數(shù)據(jù)結(jié)構(gòu)以同樣的方式運(yùn)算。
邏輯或or :跟 and 一樣都是返回決定結(jié)果的值。如x or y,如果 x 為真,結(jié)果由x決定,結(jié)果為 x ;如果 x 為假,結(jié)果由y決定,返回y。非布爾值1 or 2結(jié)果為1,2 or 1結(jié)果為2;0 or 1和1 or 0結(jié)果都為1,其它字符串和數(shù)據(jù)結(jié)構(gòu)以同樣的方式運(yùn)算。

位運(yùn)算符

|位運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
|& | 按位與| 1&1=1,1&0=0,0&1=0,0&0=0。
只要對(duì)應(yīng)的兩個(gè)二進(jìn)位都為1時(shí),結(jié)果位才為1 |
|| | 按位或 |1|1=1,1|0=1,0|1=1,0|0=0。
只要對(duì)應(yīng)的兩個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。 |
|^ | 按位異或 | 11=0,10=1,01=1,00=0。
當(dāng)兩個(gè)對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1。 |
|~ | 取反 |如果a=2,那么~a=-(a+1) =-3。
記住~a=-(a+1)這個(gè)公式即可 |
|<< | 左移|運(yùn)算數(shù)的各二進(jìn)位全部左移n位,由"<<"右邊的
數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。左移一
位都相當(dāng)于乘以2的1次方,左移n位就相當(dāng)于乘以2
的n次方。 |
| >> | 右移|把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移n位,
">>"右邊的數(shù)指定移動(dòng)的位數(shù)。右移一位相當(dāng)于除
2,右移n位相當(dāng)于除以2的n次方取商。|

成員運(yùn)算符

在一個(gè)序列中成員資格的測(cè)試,如字符串,列表或元組。

|成員運(yùn)算符 | 名稱 | 例子 |
| ------------- |:----------------|: ------:|
|in |包含| ‘1’ in '1234'。
包含時(shí)為Ture,不包含時(shí)為False。 |
|not in |不包含| ‘1’ not in '1234'。
包含時(shí)為False,不包含時(shí)為Ture。 |

運(yùn)算符優(yōu)先級(jí)

由高到低排序
** 指數(shù)
~ 、+、 - ,取反, 正負(fù)號(hào)
* 、/、 %、 // 乘,除,取模和取整除
+、- 加號(hào)減號(hào)
>>、 << 右移,左移運(yùn)算符
& 位與
^ | 位運(yùn)算符
== 、!= 、< 、<= 、>、 >= 比較運(yùn)算符
= 、-= 、+= 、%= 、/= 、//=、 = 、*= 賦值運(yùn)算符
is、 is not 標(biāo)識(shí)運(yùn)算符
in、not in 成員運(yùn)算符
and、or、not 邏輯運(yùn)算符

另外,小括號(hào)可以改變優(yōu)先級(jí),有()的情況優(yōu)先計(jì)算()中的表達(dá)式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容