在本文中,您將學(xué)習(xí)有關(guān)Python中不同類型的運(yùn)算符,它們的語法以及如何在示例中使用它們的所有知識。
運(yùn)算符是Python中執(zhí)行算術(shù)或邏輯計算的特殊符號。運(yùn)算符所操作的值稱為操作數(shù)。
例如:
>>> 2+3 5
在這里,+是執(zhí)行加法的運(yùn)算符。2和3是操作數(shù),5是操作的輸出。
算術(shù)運(yùn)算符用于執(zhí)行數(shù)學(xué)運(yùn)算,例如加法,減法,乘法等。
| 操作符 | 含義 | 例 |
|---|---|---|
| + | 加 - 兩個操作數(shù)相加或一元加 | x + y + 2 |
| - | 減 - 從左側(cè)或一元減號,減去右側(cè)操作數(shù) | x-y- 2 |
| * | 乘 -將兩個操作數(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)行該程序時,輸出為:
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ù),則為True | x> y |
| < | 小于-如果左操作數(shù)小于右操作數(shù),則為True | x <y |
| == | 等于-如果兩個操作數(shù)相等,則為True | x == y |
| != | 不等于-如果操作數(shù)不相等則為True | x!= y |
| >= | 大于或等于-如果左操作數(shù)大于或等于右,則為True | x> = y |
| <= | 小于或等于-如果左操作數(shù)小于或等于右,則為True | 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)營商。
| 操作符 | 含義 | 例 |
|---|---|---|
| and | 如果兩個操作數(shù)都為真,則為真 | x和y |
| or | 如果任何一個操作數(shù)為真,則為真 | x或y |
| not | 如果操作數(shù)為false,則為True(對操作數(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是一個簡單的賦值運(yùn)算符,它將右邊的值5分配給左邊的變量a。
Python中有許多類似的復(fù)合運(yùn)算符,a += 5它們會添加到變量中,然后再分配給它們。等同于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ùn)算符,例如身份運(yùn)算符或成員資格運(yùn)算符。下面通過示例對其進(jìn)行描述。
is和is not是Python中的身份運(yùn)算符。 它們用于檢查兩個值(或變量)是否位于內(nèi)存的同一部分。 兩個相等的變量并不意味著它們是相同的。
| 操作符 | 含義 | 例 |
|---|---|---|
| is | 如果操作數(shù)相同,則為真(引用同一對象) | x為真 |
| is not | 如果操作數(shù)不相同,則為真(不引用同一對象) | 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是列表。它們是相等的但不相同。這是因為盡管它們相等,但解釋器還是將它們分別定位在內(nèi)存中。
in和not in是Python中的成員操作符。它們用于測試在序列(字符串,列表,元組,集合和字典)中是否找到值或變量。
在字典中,我們只能測試鍵的存在,而不是值。
| 操作員 | 含義 | 例 |
|---|---|---|
| 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中不存在(請記住,Python是區(qū)分大小寫的)。類似地,1是鍵值,而a是字典y中的值,因此y中的a返回False。