溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

有哪些Python運算符

發(fā)布時間:2021-11-01 17:13:57 來源:億速云 閱讀:113 作者:iii 欄目:編程語言

這篇文章主要介紹“有哪些Python運算符”,在日常操作中,相信很多人在有哪些Python運算符問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”有哪些Python運算符”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

基本賦值運算符

=是 Python 中最常見、最基本的賦值運算符,用來將一個表達式的值賦給另一個變量。

Python 中的賦值表達式也是有值的,它的值就是被賦的那個值,或者說是左側(cè)變量的值;如果將賦值表達式的值再賦值給另外一個變量,這就構(gòu)成了連續(xù)賦值。

注意:

= 和 == 是兩個不同的運算符,= 用來賦值,而 == 用來判斷兩邊的值是否相等,千萬不要混淆 。

=還可與其他運算符(包括算術(shù)運算符、位運算符和邏輯運算符)相結(jié)合,擴展成為功能更加強大的賦值運算符,如下表:

運算符說 明用法舉例等價形式
=最基本的賦值運算x = yx = y
+=加賦值x += yx = x + y
-=減賦值x -= yx = x - y
*=乘賦值x *= yx = x * y
/=除賦值x /= yx = x / y
%=取余數(shù)賦值x %= yx = x % y
**=冪賦值x **= yx = x ** y
//=取整數(shù)賦值x //= yx = x // y
&=按位與賦值x &= yx = x & y
|=按位或賦值x |= yx = x | y
^=按位異或賦值x ^= yx = x ^ y
<<=左移賦值x <<= yx = x << y,這里的 y 指的是左移的位數(shù)
>>=右移賦值x >>= yx = x >> y,這里的 y 指的是右移的位數(shù)

位運算符  

Python 位運算符只能用來操作整數(shù)類型,它按照整數(shù)在內(nèi)存中的二進制形式進行計算。Python 支持的位運算符如下表所示:

位運算符說明使用形式舉 例
&按位與a & b4 & 5
|按位或a | b4 | 5
^按位異或a ^ b4 ^ 5
~按位取反~a~4
<<按位左移a << b4 << 2,表示整數(shù) 4 按位左移 2 位
>>按位右移a >> b4 >> 2,表示整數(shù) 4 按位右移 2 位

& 按位與運算符

按位與運算符&的運算規(guī)則是:只有參與&運算的兩個位都為 1 時,結(jié)果才為 1,否則為 0。例如1&1為 1,0&0為 0,1&0也為 0,這和邏輯運算符&&非常相似。  

第一個Bit位第二個Bit位結(jié)果
000
010
100
111

| 按位或運算符

按位或運算符|的運算規(guī)則是:兩個二進制位有一個為 1 時,結(jié)果就為 1,兩個都為 0 時結(jié)果才為 0。例如1|1為 1,0|0為0,1|0 為1,這和邏輯運算中的||非常類似。 

第一個Bit位第二個Bit位結(jié)果
000
011
101
111

^按位異或運算符

按位異或運算^的運算規(guī)則是:參與運算的兩個二進制位不同時,結(jié)果為 1,相同時結(jié)果為 0。例如0^1為 1,0^0為 0,1^1為 0。 

第一個Bit位第二個Bit位結(jié)果
000
011
101
110

~按位取反運算符

按位取反運算符~為單目運算符(只有一個操作數(shù)),右結(jié)合性,作用是對參與運算的二進制位取反。例如~1為0,~0為1,這和邏輯運算中的!非常類似。  

<<左移運算符

Python 左移運算符<<用來把操作數(shù)的各個二進制位全部左移若干位,高位丟棄,低位補 0。  

>>右移運算符

Python 右移運算符>>用來把操作數(shù)的各個二進制位全部右移若干位,低位丟棄,高位補 0 或 1。如果數(shù)據(jù)的最高位是 0,那么就補 0;如果最高位是 1,那么就補 1。

比較運算符 

Python支持的比較運算符如下表所示:


比較運算符說明
>大于,如果>前面的值大于后面的值,則返回 True,否則返回 False。
<小于,如果<前面的值小于后面的值,則返回 True,否則返回 False。
==等于,如果==兩邊的值相等,則返回 True,否則返回 False。
>=大于等于(等價于數(shù)學(xué)中的 ≥),如果>=前面的值大于或者等于后面的值,則返回 True,否則返回 False。
<=小于等于(等價于數(shù)學(xué)中的 ≤),如果<=前面的值小于或者等于后面的值,則返回 True,否則返回 False。
!=不等于(等價于數(shù)學(xué)中的 ≠),如果!=兩邊的值不相等,則返回 True,否則返回 False。
is判斷兩個變量所引用的對象是否相同,如果相同則返回 True,否則返回 False。
is not判斷兩個變量所引用的對象是否不相同,如果不相同則返回 True,否則返回 False。

== 和 is 的區(qū)別

is 與 == 有本質(zhì)上的區(qū)別,完全不是一碼事兒 ,== 用來比較兩個變量的值是否相等,而 is 則用來比對兩個變量引用的是否是同一個對象。兩個時間是一樣的。== 用來判斷 t1 和 t2 的值是否相等,所以返回 True。is 返回 False。像兩個雙胞胎姐妹,雖然她們的外貌是一樣的,但它們是兩個人。 

邏輯運算符

Python邏輯運算符為下表所示:

邏輯運算符含義基本格式說明
and邏輯與運算,等價于數(shù)學(xué)中的“且”a and b當 a 和 b 兩個表達式都為真時,a and b 的結(jié)果才為真,否則為假。
or邏輯或運算,等價于數(shù)學(xué)中的“或”a or b當 a 和 b 兩個表達式都為假時,a or b 的結(jié)果才是假,否則為真。
not邏輯非運算,等價于數(shù)學(xué)中的“非”not a如果 a 為真,那么 not a 的結(jié)果為假;如果 a 為假,那么 not a 的結(jié)果為真。相當于對 a 取反。

注意:

在 Python 中,and 和 or 不一定會計算右邊表達式的值,有時候只計算左邊表達式的值就能得到最終結(jié)果。

另外,and 和 or 運算符會將其中一個表達式的值作為最終結(jié)果,而不是將 True 或者 False 作為最終結(jié)果。

以上兩點極其重要。

對于 and 運算符,兩邊的值都為真時最終結(jié)果才為真,但是只要其中有一個值為假,那么最終結(jié)果就是假,所以 Python 按照下面的規(guī)則執(zhí)行 and 運算:

   1. 如果左邊表達式的值為假,那么就不用計算右邊表達式的值了,因為不管右邊表達式的值是什么,都不會影響最終結(jié)果,最終結(jié)果都是假,此時 and 會把左邊表達式的值作為最終結(jié)果。

   2. 如果左邊表達式的值為真,那么最終值是不能確定的,and 會繼續(xù)計算右邊表達式的值,并將右邊表達式的值作為最終結(jié)果。


對于 or 運算符,情況是類似的,兩邊的值都為假時最終結(jié)果才為假,只要其中有一個值為真,那么最終結(jié)果就是真,所以 Python 按照下面的規(guī)則執(zhí)行 or 運算:

  1. 如果左邊表達式的值為真,那么就不用計算右邊表達式的值了,因為不管右邊表達式的值是什么,都不會影響最終結(jié)果,最終結(jié)果都是真,此時 or 會把左邊表達式的值作為最終結(jié)果。

  2. 如果左邊表達式的值為假,那么最終值是不能確定的,or 會繼續(xù)計算右邊表達式的值,并將右邊表達式的值作為最終結(jié)果。

到此,關(guān)于“有哪些Python運算符”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI