Python 運(yùn)算符
什么是運(yùn)算符?
本章節(jié)主要說明Python的運(yùn)算符。舉個(gè)簡單的例子 4 +5 = 9 。 例子中,4和5被稱為操作數(shù),"+"號(hào)為運(yùn)算符。
Python語言支持以下類型的運(yùn)算符:
算術(shù)運(yùn)算符 比較(關(guān)系)運(yùn)算符 賦值運(yùn)算符 邏輯運(yùn)算符 位運(yùn)算符 成員運(yùn)算符 身份運(yùn)算符 運(yùn)算符優(yōu)先級(jí)接下來讓我們一個(gè)個(gè)來學(xué)習(xí)Python的運(yùn)算符。
Python算術(shù)運(yùn)算符以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 描述 實(shí)例+ 加 - 兩個(gè)對(duì)象相加 a + b 輸出結(jié)果 30- 減 - 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù) a - b 輸出結(jié)果 -10* 乘 - 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串 a * b 輸出結(jié)果 200/ 除 - x除以y b / a 輸出結(jié)果 2% 取模 - 返回除法的余數(shù) b % a 輸出結(jié)果 0** 冪 - 返回x的y次冪 a**b 為10的20次方, 輸出結(jié)果 100000000000000000000// 取整除 - 返回商的整數(shù)部分 9//2 輸出結(jié)果 4 , 9.0//2.0 輸出結(jié)果 4.0以下實(shí)例演示了Python所有算術(shù)運(yùn)算符的操作:
#!/usr/bin/pythona = 21b = 10c = 0c = a + bprint "Line 1 - Value of c is ", cc = a - bprint "Line 2 - Value of c is ", c c = a * bprint "Line 3 - Value of c is ", c c = a / bprint "Line 4 - Value of c is ", c c = a % bprint "Line 5 - Value of c is ", ca = 2b = 3c = a**b print "Line 6 - Value of c is ", ca = 10b = 5c = a//b print "Line 7 - Value of c is ", c嘗試一下 »
以上實(shí)例輸出結(jié)果:
Line 1 - Value of c is 31Line 2 - Value of c is 11Line 3 - Value of c is 210Line 4 - Value of c is 2Line 5 - Value of c is 1Line 6 - Value of c is 8Line 7 - Value of c is 2Python比較運(yùn)算符以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 描述 實(shí)例== 等于 - 比較對(duì)象是否相等 (a == b) 返回 False。!= 不等于 - 比較兩個(gè)對(duì)象是否不相等 (a != b) 返回 true.<> 不等于 - 比較兩個(gè)對(duì)象是否不相等 (a <> b) 返回 true。這個(gè)運(yùn)算符類似 != 。> 大于 - 返回x是否大于y (a > b) 返回 False。< 小于 - 返回x是否小于y。所有比較運(yùn)算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價(jià)。注意,這些變量名的大寫。 (a < b) 返回 true。>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。以下實(shí)例演示了Python所有比較運(yùn)算符的操作:
#!/usr/bin/pythona = 21b = 10c = 0if ( a == b ): print "Line 1 - a is equal to b"else: print "Line 1 - a is not equal to b"if ( a != b ): print "Line 2 - a is not equal to b"else: print "Line 2 - a is equal to b"if ( a <> b ): print "Line 3 - a is not equal to b"else: print "Line 3 - a is equal to b"if ( a < b ): print "Line 4 - a is less than b" else: print "Line 4 - a is not less than b"if ( a > b ): print "Line 5 - a is greater than b"else: print "Line 5 - a is not greater than b"a = 5;b = 20;if ( a <= b ): print "Line 6 - a is either less than or equal to b"else: print "Line 6 - a is neither less than nor equal to b"if ( b >= a ): print "Line 7 - b is either greater than or equal to b"else: print "Line 7 - b is neither greater than nor equal to b"以上實(shí)例輸出結(jié)果:
Line 1 - a is not equal to bLine 2 - a is not equal to bLine 3 - a is not equal to bLine 4 - a is not less than bLine 5 - a is greater than bLine 6 - a is either less than or equal to bLine 7 - b is either greater than or equal to b Python賦值運(yùn)算符以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 描述 實(shí)例= 簡單的賦值運(yùn)算符 c = a + b 將 a + b 的運(yùn)算結(jié)果賦值為 c+= 加法賦值運(yùn)算符 c += a 等效于 c = c + a-= 減法賦值運(yùn)算符 c -= a 等效于 c = c - a*= 乘法賦值運(yùn)算符 c *= a 等效于 c = c * a/= 除法賦值運(yùn)算符 c /= a 等效于 c = c / a%= 取模賦值運(yùn)算符 c %= a 等效于 c = c % a**= 冪賦值運(yùn)算符 c **= a 等效于 c = c ** a//= 取整除賦值運(yùn)算符 c //= a 等效于 c = c // a以下實(shí)例演示了Python所有賦值運(yùn)算符的操作:
#!/usr/bin/pythona = 21b = 10c = 0c = a + bprint "Line 1 - Value of c is ", cc += aprint "Line 2 - Value of c is ", c c *= aprint "Line 3 - Value of c is ", c c /= a print "Line 4 - Value of c is ", c c = 2c %= aprint "Line 5 - Value of c is ", cc **= aprint "Line 6 - Value of c is ", cc //= aprint "Line 7 - Value of c is ", c以上實(shí)例輸出結(jié)果:
Line 1 - Value of c is 31Line 2 - Value of c is 52Line 3 - Value of c is 1092Line 4 - Value of c is 52Line 5 - Value of c is 2Line 6 - Value of c is 2097152Line 7 - Value of c is 99864Python位運(yùn)算符按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的。Python中的按位運(yùn)算法則如下:
運(yùn)算符 描述 實(shí)例& 按位與運(yùn)算符 (a & b) 輸出結(jié)果 12 ,二進(jìn)制解釋: 0000 1100| 按位或運(yùn)算符 (a | b) 輸出結(jié)果 61 ,二進(jìn)制解釋: 0011 1101^ 按位異或運(yùn)算符 (a ^ b) 輸出結(jié)果 49 ,二進(jìn)制解釋: 0011 0001~ 按位取反運(yùn)算符 (~a ) 輸出結(jié)果 -61 ,二進(jìn)制解釋: 1100 0011, 在一個(gè)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼形式。<< 左移動(dòng)運(yùn)算符 a << 2 輸出結(jié)果 240 ,二進(jìn)制解釋: 1111 0000>> 右移動(dòng)運(yùn)算符 a >> 2 輸出結(jié)果 15 ,二進(jìn)制解釋: 0000 1111以下實(shí)例演示了Python所有位運(yùn)算符的操作:
#!/usr/bin/pythona = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0c = a & b;# 12 = 0000 1100print "Line 1 - Value of c is ", cc = a | b;# 61 = 0011 1101 print "Line 2 - Value of c is ", cc = a ^ b;# 49 = 0011 0001print "Line 3 - Value of c is ", cc = ~a; # -61 = 1100 0011print "Line 4 - Value of c is ", cc = a << 2; # 240 = 1111 0000print "Line 5 - Value of c is ", cc = a >> 2; # 15 = 0000 1111print "Line 6 - Value of c is ", c以上實(shí)例輸出結(jié)果:
Line 1 - Value of c is 12Line 2 - Value of c is 61Line 3 - Value of c is 49Line 4 - Value of c is -61Line 5 - Value of c is 240Line 6 - Value of c is 15Python邏輯運(yùn)算符Python語言支持邏輯運(yùn)算符,以下假設(shè)變量a為10,變量b為20:
運(yùn)算符 描述 實(shí)例and 布爾"與" - 如果x為False,x and y返回False,否則它返回y的計(jì)算值。 (a and b) 返回 true。or 布爾"或" - 如果x是True,它返回True,否則它返回y的計(jì)算值。 (a or b) 返回 true。not 布爾"非" - 如果x為True,返回False。如果x為False,它返回True。 not(a and b) 返回 false。以下實(shí)例演示了Python所有邏輯運(yùn)算符的操作:
#!/usr/bin/pythona = 10b = 20c = 0if ( a and b ): print "Line 1 - a and b are true"else: print "Line 1 - Either a is not true or b is not true"if ( a or b ): print "Line 2 - Either a is true or b is true or both are true"else: print "Line 2 - Neither a is true nor b is true"a = 0if ( a and b ): print "Line 3 - a and b are true"else: print "Line 3 - Either a is not true or b is not true"if ( a or b ): print "Line 4 - Either a is true or b is true or both are true"else: print "Line 4 - Neither a is true nor b is true"if not( a and b ): print "Line 5 - Either a is not true or b is not true or both are not true"else: print "Line 5 - a and b are true"以上實(shí)例輸出結(jié)果:
Line 1 - a and b are trueLine 2 - Either a is true or b is true or both are trueLine 3 - Either a is not true or b is not trueLine 4 - Either a is true or b is true or both are trueLine 5 - Either a is not true or b is not true or both are not truePython成員運(yùn)算符除了以上的一些運(yùn)算符之外,Python還支持成員運(yùn)算符,測試實(shí)例中包含了一系列的成員,包括字符串,列表或元組。
運(yùn)算符 描述 實(shí)例in 如果在指定的序列中找到值返回True,否則返回False。 x 在 y序列中 , 如果x在y序列中返回True。not in 如果在指定的序列中沒有找到值返回True,否則返回False。 x 不在 y序列中 , 如果x不在y序列中返回True。以下實(shí)例演示了Python所有成員運(yùn)算符的操作:
#!/usr/bin/pythona = 10b = 20list = [1, 2, 3, 4, 5 ];if ( a in list ): print "Line 1 - a is available in the given list"else: print "Line 1 - a is not available in the given list"if ( b not in list ): print "Line 2 - b is not available in the given list"else: print "Line 2 - b is available in the given list"a = 2if ( a in list ): print "Line 3 - a is available in the given list"else: print "Line 3 - a is not available in the given list"以上實(shí)例輸出結(jié)果:
Line 1 - a is not available in the given listLine 2 - b is not available in the given listLine 3 - a is available in the given listPython身份運(yùn)算符身份運(yùn)算符用于比較兩個(gè)對(duì)象的存儲(chǔ)單元
運(yùn)算符 描述 實(shí)例is is是判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象 x is y, 如果 id(x) 等于 id(y) , is 返回結(jié)果 1is not is not是判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象 x is not y, 如果 id(x) 不等于 id(y). is not 返回結(jié)果 1以下實(shí)例演示了Python所有身份運(yùn)算符的操作:
#!/usr/bin/pythona = 20b = 20if ( a is b ): print "Line 1 - a and b have same identity"else: print "Line 1 - a and b do not have same identity"if ( id(a) == id(b) ): print "Line 2 - a and b have same identity"else: print "Line 2 - a and b do not have same identity"b = 30if ( a is b ): print "Line 3 - a and b have same identity"else: print "Line 3 - a and b do not have same identity"if ( a is not b ): print "Line 4 - a and b do not have same identity"else: print "Line 4 - a and b have same identity"以上實(shí)例輸出結(jié)果:
Line 1 - a and b have same identityLine 2 - a and b have same identityLine 3 - a and b do not have same identityLine 4 - a and b do not have same identity Python運(yùn)算符優(yōu)先級(jí)以下表格列出了從最高到最低優(yōu)先級(jí)的所有運(yùn)算符:
運(yùn)算符 描述** 指數(shù) (最高優(yōu)先級(jí))~ + - 按位翻轉(zhuǎn), 一元加號(hào)和減號(hào) (最后兩個(gè)的方法名為 +@ 和 -@)* / % // 乘,除,取模和取整除+ - 加法減法>> << 右移,左移運(yùn)算符& 位 'AND'^ | 位運(yùn)算符<= < > >= 比較運(yùn)算符<> == != 等于運(yùn)算符= %= /= //= -= += *= **= 賦值運(yùn)算符is is not 身份運(yùn)算符in not in 成員運(yùn)算符not or and 邏輯運(yùn)算符以下實(shí)例演示了Python所有運(yùn)算符優(yōu)先級(jí)的操作:
#!/usr/bin/pythona = 20b = 10c = 15d = 5e = 0e = (a + b) * c / d #( 30 * 15 ) / 5print "Value of (a + b) * c / d is ", ee = ((a + b) * c) / d # (30 * 15 ) / 5print "Value of ((a + b) * c) / d is ", ee = (a + b) * (c / d); # (30) * (15/5)print "Value of (a + b) * (c / d) is ", ee = a + (b * c) / d; # 20 + (150/5)print "Value of a + (b * c) / d is ", e以上實(shí)例輸出結(jié)果:
Value of (a + b) * c / d is 90Value of ((a + b) * c) / d is 90Value of (a + b) * (c / d) is 90Value of a + (b * c) / d is 50相關(guān)文章:
1. Python實(shí)現(xiàn)查找數(shù)據(jù)庫最接近的數(shù)據(jù)2. python中if嵌套命令實(shí)例講解3. 如何用python插入獨(dú)創(chuàng)性聲明4. python爬蟲把url鏈接編碼成gbk2312格式過程解析5. python 批量下載bilibili視頻的gui程序6. python鏈表類中獲取元素實(shí)例方法7. python b站視頻下載的五種版本8. Python之多進(jìn)程與多線程的使用9. python 實(shí)用工具狀態(tài)機(jī)transitions10. Python寫腳本常用模塊OS基礎(chǔ)用法詳解
