在本文中,您將學(xué)習(xí)有關(guān)Python中不同類型的運(yùn)算符,它們的語(yǔ)法以及如何在示例中使用它們的所有知識(shí)。
運(yùn)算符是Python中執(zhí)行算術(shù)或邏輯計(jì)算的特殊符號(hào)。運(yùn)算符所操作的值稱為操作數(shù)。
例如:
>>> 2+3 5
在這里,+是執(zhí)行加法的運(yùn)算符。2和3是操作數(shù),5是操作的輸出。
算術(shù)運(yùn)算符用于執(zhí)行數(shù)學(xué)運(yùn)算,例如加法,減法,乘法等。
操作符 | 含義 | 例 |
---|---|---|
+ | 加 - 兩個(gè)操作數(shù)相加或一元加 | x + y + 2 |
- | 減 - 從左側(cè)或一元減號(hào),減去右側(cè)操作數(shù) | x-y- 2 |
* | 乘 -將兩個(gè)操作數(shù)相乘 | x * y |
/ | 除 - 將左邊操作數(shù)除以右邊操作數(shù)(結(jié)果總是為float) | x / y |
% | 求模 -左操作數(shù)除以右操作數(shù)的余數(shù) | x%y(x / y的余數(shù)) |
// | 取整除 - 返回商的整數(shù)部分(向下取整) | x // y |
** | 冪 - 返回x的y次冪 | x ** y(x的y次冪) |
x = 15 y = 4 # 輸出: x + y = 19 print('x + y =',x+y) # 輸出: x - y = 11 print('x - y =',x-y) # 輸出: x * y = 60 print('x * y =',x*y) # 輸出: x / y = 3.75 print('x / y =',x/y) # 輸出: x // y = 3 print('x // y =',x//y) # 輸出: x ** y = 50625 print('x ** y =',x**y)
運(yùn)行該程序時(shí),輸出為:
x + y = 19 x - y = 11 x * y = 60 x / y = 3.75 x // y = 3 x ** y = 50625
比較運(yùn)算符用于比較值。它返回True或False根據(jù)條件返回。
操作符 | 含義 | 例 |
---|---|---|
> | 大于-如果左操作數(shù)大于右操作數(shù),則為T(mén)rue | x> y |
< | 小于-如果左操作數(shù)小于右操作數(shù),則為T(mén)rue | x <y |
== | 等于-如果兩個(gè)操作數(shù)相等,則為T(mén)rue | x == y |
!= | 不等于-如果操作數(shù)不相等則為T(mén)rue | x!= y |
>= | 大于或等于-如果左操作數(shù)大于或等于右,則為T(mén)rue | x> = y |
<= | 小于或等于-如果左操作數(shù)小于或等于右,則為T(mén)rue | x <= y |
x = 10 y = 12 # 輸出: x > y 是 False print('x > y 是 ',x>y) # 輸出: x < y 是 True print('x < y 是 ',x<y) # 輸出: x == y 是 False print('x == y 是 ',x==y) # 輸出: x != y 是 True print('x != y 是 ',x!=y) # 輸出: x >= y 是 False print('x >= y 是 ',x>=y) # 輸出: x <= y 是 True print('x <= y 是 ',x<=y)
輸出結(jié)果
x > y 是 False x < y 是 True x == y 是 False x != y 是 True x >= y 是 False x <= y 是 True
邏輯運(yùn)算符是and,or,not運(yùn)營(yíng)商。
操作符 | 含義 | 例 |
---|---|---|
and | 如果兩個(gè)操作數(shù)都為真,則為真 | x和y |
or | 如果任何一個(gè)操作數(shù)為真,則為真 | x或y |
not | 如果操作數(shù)為false,則為T(mén)rue(對(duì)操作數(shù)進(jìn)行補(bǔ)充) | 不是x |
x = True y = False print('x and y 是 ',x and y) print('x or y 是 ',x or y) print('not x 是 ',not x)
輸出結(jié)果
x and y 是 False x or y 是 True not x 是 False
這是這些運(yùn)算符的真值表。
按位運(yùn)算符作用于操作數(shù),就好像它們是二進(jìn)制數(shù)字的字符串一樣。它們一點(diǎn)一點(diǎn)地運(yùn)行,因此得名。
例如,2是10二進(jìn)制,7是111。
在下表中:令x= 10(0000 1010二進(jìn)制)和y= 4(0000 0100二進(jìn)制)
操作符 | 含義 | 例 |
---|---|---|
& | 按位與 | x&y = 0(0000 0000) |
| | 按位或 | x | y = 14(0000 1110) |
~ | 按位非 | ?x = -11(1111 0101) |
^ | 按位異或 | x ^ y = 14(0000 1110) |
>> | 按位右移 | x >> 2 = 2(0000 0010) |
<< | 按位左移 | x << 2 = 40(0010 1000) |
在Python中使用賦值運(yùn)算符為變量賦值。
a = 5是一個(gè)簡(jiǎn)單的賦值運(yùn)算符,它將右邊的值5分配給左邊的變量a。
Python中有許多類似的復(fù)合運(yùn)算符,a += 5它們會(huì)添加到變量中,然后再分配給它們。等同于a = a + 5。
操作符 | 示例 | 等同 |
---|---|---|
= | x = 5 | x = 5 |
+= | x + = 5 | x = x + 5 |
-= | x-= 5 | x = x-5 |
*= | x * = 5 | x = x * 5 |
/= | x / = 5 | x = x / 5 |
%= | x%= 5 | x = x%5 |
//= | x // = 5 | x = x // 5 |
**= | x ** = 5 | x = x ** 5 |
&= | x&= 5 | x = x&5 |
|= | x | = 5 | x = x | 5 |
^= | x ^ = 5 | x = x ^ 5 |
>>= | x >> = 5 | x = x >> 5 |
<<= | x << = 5 | x = x << 5 |
Python語(yǔ)言提供了一些特殊類型的運(yùn)算符,例如身份運(yùn)算符或成員資格運(yùn)算符。下面通過(guò)示例對(duì)其進(jìn)行描述。
is和is not是Python中的身份運(yùn)算符。 它們用于檢查兩個(gè)值(或變量)是否位于內(nèi)存的同一部分。 兩個(gè)相等的變量并不意味著它們是相同的。
操作符 | 含義 | 例 |
---|---|---|
is | 如果操作數(shù)相同,則為真(引用同一對(duì)象) | x為真 |
is not | 如果操作數(shù)不相同,則為真(不引用同一對(duì)象) | x不是真 |
x1 = 5 y1 = 5 x2 = 'Hello' y2 = 'Hello' x3 = [1,2,3] y3 = [1,2,3] # 輸出: False print(x1 is not y1) # 輸出: True print(x2 is y2) # 輸出: False print(x3 is y3)
輸出結(jié)果
False True False
在這里,我們看到x1和y1是相同值的整數(shù),因此它們既相等又相同。x2和y2(字符串)的情況相同。
但是x3和y3是列表。它們是相等的但不相同。這是因?yàn)楸M管它們相等,但解釋器還是將它們分別定位在內(nèi)存中。
in和not in是Python中的成員操作符。它們用于測(cè)試在序列(字符串,列表,元組,集合和字典)中是否找到值或變量。
在字典中,我們只能測(cè)試鍵的存在,而不是值。
操作員 | 含義 | 例 |
---|---|---|
in | 如果在序列中找到值/變量,則為真 | 5 in x |
not in | 如果在序列中未找到值/變量,則為真 | 5 not in x |
x = 'Hello world' y = {1:'a',2:'b'} # 輸出: True print('H' in x) # 輸出: True print('hello' not in x) # 輸出: True print(1 in y) # 輸出: False print('a' in y)
輸出結(jié)果
True True True False
這里,'H'在x中,但'hello'在x中不存在(請(qǐng)記住,Python是區(qū)分大小寫(xiě)的)。類似地,1是鍵值,而a是字典y中的值,因此y中的a返回False。