日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的运算符_Python中的运算符

發布時間:2025/3/12 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的运算符_Python中的运算符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說完常用的數據類型,再來說下運算符。運算符用于將各種類型的數據進行運算,讓靜態的數據跑起來。

編程語言中的運算大致分為以下幾個大類:

算術運算, 用于加減乘除等數學運算

賦值運算,用于接收運算符或方法調用返回的結果

比較運算, 用于做大小或等值比較運算

邏輯運算,用于做 與、或、非運算

位運算, 用于二進制運算

每種運算中所包含的符號稱為相應的運算符,如 算術運算符、比較運算符等。

一、算術運算

運算(符)

說明

實例

+

兩個對象相加

2 + 3 結果為 5

-

兩個對象相減

3 - 2 結果為 1

*

兩個數相乘或返回一個重復若干次的序列

2 * 3 結果為 6; 'abc' * 2 結果為 'abcabc'

/

兩個數相除

3 / 2 結果為 1.5

//

整除,返回商的整數部分

3 // 2 結果為 1,3 // 2.0 結果為 1.0

%

求余/取模,返回除法的余數

3 % 2 結果為 1,3 % 2.0 結果為 1.0

**

求冪/次方

2 ** 3 結果為 8

二、賦值運算

運算(符)

描述

實例

=

簡單賦值運算符

a = 5, b = 3, c = a - b

+=

加法賦值運算符

a += b 相當于 a = a + b

-=

減法賦值運算符

a -= b 相當于 a = a -b

*=

乘法賦值運算符

a *= b 相當于 a = a * b

/=

除法賦值運算符

a /= b 相當于 a = a / b

//=

取整除賦值運算符

a //= b 相當于 a = a // b

%=

取模賦值運算符

a %= b 相當于 a = a % b

**=

冪賦值運算符符

a **= b 相當于 a = a ** b

三、比較運算

Python有8中比較操作,它們具有相同的優先級。比較操作可以被任意連接,比如 x< y <= z 等同于 x < y and y <= z,只是第一種形式下的y只被評估一次。另外,當 x < y不成立時,這兩種形式下的z都不會被評估。

運算(符)

說明

實例

<

嚴格小于

3 < 5 結果為True,5 < 5 結果為False

<=

小于或等于

3 <= 5 結果為True,5 <= 5 結果為True

>

嚴格大于

5 > 3 結果為True,5 > 5 結果為False

>=

大于或等于

5 >= 3 結果為True,5 >= 5 結果為True

==

等于

1 == 1.0 == True 結果為True

!=

不等于

is

判斷兩個標識符是否引用自一個對象

x is y, 如果id(x) == id(y),即x也y的指向同一個內存地址,則結果為1,否則結果為0

is not

判斷兩個標識符是否引用自不同對象

x is not y, 如果id(x) != id(y),即x和y指向不同的內存地址,則結果為1,否則結果為0

說明:

a) 不同類型的對象進行比較,從來不會相等(不同的數字類型除外);

b) 當把<、<=、> 和 >=操作符在這幾種情況下會拋出TypeError異常: (1) 用于復數和另外的內置數字類型進行比較時;(2) 比較的對象為不同類型,無法進行比較時;(3) 未定義的其他情況下;

c) 一個類的不同實例通常是不相等的,除非該類定義了__eq__()方法;

d) 一個類的實例不能相對于同一類或其他類的的其他實例進行排序,除非該類定義了足夠的方法__lt__(), __le__(), __gt__(), __ge__()。如果想要比較運算符的常規含義, __lt__()和__eq__()就足夠了;

e) is 和 is not操作符的行為是不能自定義的;另外,它們可以被應用到兩個不同類型的對象,不會已發異常。

f) 另外兩個具有相同句法優先級的操作是 in 和 not in,它們支持序列、集合和映射類型的對象。

g) 比較運算的結果為布爾值:True 或 False

四、邏輯運算

“真”值測試(Truth Value Testing)

在講解“布爾運算”之前,我們先來說下Python中的一個特殊操作--“真”值測試。

Python中的任何一個對象都可以被測試“真”值。這里說的“真”值測試可以這樣理解:Python中的任何一個對象都可以轉換為一個布爾值,而這個“真”值測試就是獲取一個對象對應的布爾值的過程。

Python中只有下面這些值對應的布爾值為False:

None

False

數字類型中的0,如:0, 0.0, 0j

任意空序列,如:'', (), []

任意一個空映射,如:{}

一個用戶自定義類的實例--該用戶自定義類中定義了一個__bool__()或__len__()方法,且實例調用該方法時返回整數0或布爾值False

除此之外,所有的其它值對應的布爾值都是True, 因此許多類型的對象永遠是True。

"真"值測試可以被用在 if或while條件中,也可以作為布爾操作的操作數。

布爾運算(Boolean Operations)

Python中的邏輯運算稱為“布爾運算(Boolean Operations)”,操作符包括:and(與)、or(或)、not(非)。

下面按照他們的優先級升序順序進行說明:

運算

結果

x or y

如果x的Truth值測試結果為False,那么該操作的結果為y的值,否則為x的值

x and y

如果x的Truth值測試結果為False, 那么該操作的結果為x的值,否則為y的值

not x

如果x的Truth值測試結果為False, 那么該操作的結果為True,否則結果為False

說明:

a)or是一個短路操作符,也就是說,只有第一個參數的評估結果為False時,第二個參數才會被評估;

b) and也是一個短路操作符,也就是說,只有第一個參數的評估結果為True時,第二個參數才會被評估;

c) not操作符比非布爾操作符優先級低,因此,not a == b 被解釋為 not (a == b);如果寫成 a == not b會包語法錯誤。

五、位運算

按位運算是指把數字轉換為二進制來進行計算,位運算符包括以下幾種:

假設:

a = 60,對應的二進制格式為 0011 1100

b = 13, 對應的二進制格式為 0000 1101

運算符

說明

實例

&

按位與:參與運算的兩個值,如果相應的二進制位都為1,則該位結果為1,否則為0

a & b 對應的二進制結果為 0000 1100,十進制為12

豎杠

按位或:參與運算的兩個值,只要對應的二進制位由一個為1時,該位結果就為1

a 豎杠 b 對應的二進制結果為 0011 1101,十進制為61

^

按位異或:參與運算的兩個值,當對應的二進制位不同時,該為結果為1,否則改為結果為0

a ^ b 對應的二進制結果為 0011 0001, 十進制為49

~

按位取反:這個是單目運算符,只有一個值參與運算,運算過程是對每個二進制位取反,即把1變0,把0變1

~a 的二進制結果為 1100 0011,十進制數為-61

<<

左移運算符:運算數的各二進制位全部左移若干位,高位丟棄,低位補0,結果相當于運算數乘以2的n次方,正負符號不發生改變

a << 2 的二進制結果為 1111 0000,十進制數為240

>>

右移運算符:運算數的各二進制位全部右移若干位,結果相當于運算數除以2的n次方,正負符號不發生改變

a >> 2 的二進制結果為 0000 1111,十進制為15

總結

以上是生活随笔為你收集整理的python中的运算符_Python中的运算符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。