[轉(zhuǎn)載] Python基本運算符

參考鏈接: Python成員資格和身份運算符 | in, not in, is, is not

Python基本運算符?


? ?由?

?YIYIAD 翻譯整理? ?

?注:由于水平有限,歡迎指正纫版。轉(zhuǎn)載請務(wù)必注明出處胳挎。?


? 2






? ? 上一篇

? ?下一篇??


? ?什么是操作符??

? 簡單的回答可以使用表達式4 + 5等于9迅细,在這里4和5被稱為操作數(shù)巫橄,+被稱為操符。 Python語言支持操作者有以下幾種類型茵典。?

? ?算術(shù)運算符? 比較(即關(guān)系)運算符? 賦值運算符? 邏輯運算符? 位運算符? 會員操作符? 標識操作符??

? 讓我們逐一看看所有的運算符湘换。?

? ?Python算術(shù)運算符:?

? 假設(shè)變量a持有10和變量b持有20,則:?

? [ 查看示例 ]?

? ?操作符 描述符 例子 + 加法 - 對操作符的兩側(cè)增加值 a + b = 30 - 減法 - 減去從左側(cè)操作數(shù)右側(cè)操作數(shù) a - b = -10 * 乘法 - 相乘的運算符兩側(cè)的值 a * b = 200 / 除 - 由右側(cè)操作數(shù)除以左側(cè)操作數(shù) b / a = 2 % 模 - 由右側(cè)操作數(shù)和余返回除以左側(cè)操作數(shù) b % a = 0 ** 指數(shù)- 執(zhí)行對操作指數(shù)(冪)的計算 a**b = 10 的冪 20 // 地板除 - 操作數(shù)的除法,其中結(jié)果是將小數(shù)點后的位數(shù)被除去的商彩倚。 9//2 =? 4 而 9.0//2.0 = 4.0?

? ?Python的比較操作符:?

? 假設(shè)變量a持有10和變量b持有20筹我,則:?

? [ 查看示例 ]?

? ?運算符 描述 示例 == 檢查,兩個操作數(shù)的值是否相等帆离,如果是則條件變?yōu)檎妗?(a == b) 不為 true. != 檢查兩個操作數(shù)的值是否相等蔬蕊,如果值不相等,則條件變?yōu)檎妗?(a != b) 為 true. <> 檢查兩個操作數(shù)的值是否相等哥谷,如果值不相等岸夯,則條件變?yōu)檎妗?(a <> b) 為 true。這個類似于 != 運算符 > 檢查左操作數(shù)的值是否大于右操作數(shù)的值们妥,如果是猜扮,則條件成立。 (a > b) 不為 true. < 檢查左操作數(shù)的值是否小于右操作數(shù)的值监婶,如果是旅赢,則條件成立。 (a < b) 為 true. >= 檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值惑惶,如果是煮盼,則條件成立。 (a >= b) 不為 true. <= 檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值集惋,如果是孕似,則條件成立。 (a <= b) 為 true.?

? ?Python賦值運算符:?

? 假設(shè)變量持有10和變量b持有20刮刑,則:?

? [ 示例 ]?

? ?運算符 描述 示例 = 簡單的賦值運算符喉祭,賦值從右側(cè)操作數(shù)左側(cè)操作數(shù) c = a + b將指定的值 a + b 到? c += 加法AND賦值操作符,它增加了右操作數(shù)左操作數(shù)和結(jié)果賦給左操作數(shù) c += a 相當于 c = c + a -= 減AND賦值操作符雷绢,它減去右邊的操作數(shù)從左邊操作數(shù)泛烙,并將結(jié)果賦給左操作數(shù) c -= a 相當于 c = c - a *= 乘法AND賦值操作符,它乘以右邊的操作數(shù)與左操作數(shù)翘紊,并將結(jié)果賦給左操作數(shù) c *= a 相當于 c = c * a /= 除法AND賦值操作符蔽氨,它把左操作數(shù)與正確的操作數(shù),并將結(jié)果賦給左操作數(shù) c /= a 相當于= c / a %= 模量AND賦值操作符帆疟,它需要使用兩個操作數(shù)的模量和分配結(jié)果左操作數(shù) c %= a is equivalent to c = c % a **= 指數(shù)AND賦值運算符鹉究,執(zhí)行指數(shù)(功率)計算操作符和賦值給左操作數(shù) c **= a 相當于 c = c ** a //= 地板除,并分配一個值踪宠,執(zhí)行地板除對操作和賦值給左操作數(shù) c //= a 相當于 c = c // a?

? 試試下面的例子就明白了所有在Python編程語言可供選擇的賦值運算符:?

? #!/usr/bin/python

a =21

b =10

c =0

c = a + b

print"Line 1 - Value of c is ", c

c += a

print"Line 2 - Value of c is ", c?

c *= a

print"Line 3 - Value of c is ", c?

c /= a?

print"Line 4 - Value of c is ", c?

c? =2

c %= a

print"Line 5 - Value of c is ", c

c **= a

print"Line 6 - Value of c is ", c

c //= aprint"Line 7 - Value of c is ", c?

? 當執(zhí)行上面的程序自赔,它會產(chǎn)生以下結(jié)果:?

? Line 1 - Value of c is 31

Line 2 - Value of c is 52

Line 3 - Value of c is 1092

Line 4 - Value of c is 52

Line 5 - Value of c is 2

Line 6 - Value of c is 2097152

Line 7 - Value of c is 99864?



? ?Python位運算符:?

? 位運算符作用于位和位操作執(zhí)行位。假設(shè)柳琢,如果a =60;且b =13;現(xiàn)在以二進制格式它們將如下:?

? a = 0011 1100?

? b = 0000 1101?

? -----------------?

? a&b = 0000 1100?

? a|b = 0011 1101?

? a^b = 0011 0001?

? ~a? = 1100 0011?

? Python語言支持下位運算符?

? [ 示例 ]?

? ?操作符 描述 示例 & 二進制和復(fù)制操作了一下绍妨,結(jié)果润脸,如果它存在于兩個操作數(shù)。 (a & b) = 12 即 0000 1100 | 二進制或復(fù)制操作了一個比特他去,如果它存在一個操作數(shù)中毙驯。 (a | b) = 61 即 0011 1101 ^ 二進制異或運算符的副本,如果它被設(shè)置在一個操作數(shù)而不是兩個比特灾测。 (a ^ b) =? 49 即? 0011 0001 ~ 二進制的補運算符是一元的爆价,并有“翻轉(zhuǎn)”位的效果。 (~a ) =? -61 即 1100 0011以2的補碼形式由于帶符號二進制數(shù)行施。 << 二進位向左移位運算符允坚。左操作數(shù)的值左移由右操作數(shù)指定的位數(shù)魂那。 a << 2 = 240 即 1111 0000 >> 二進位向右移位運算符蛾号。左操作數(shù)的值是由右操作數(shù)指定的位數(shù)向右移動。 a >> 2 = 15 即 0000 1111?

? ?Python邏輯運算符:?

? Python語言支持以下邏輯運算符涯雅。假設(shè)變量a持有10和變量b持有20則:?

? [ 示例 ]?

? ?運算符 描述 示例 and 所謂邏輯與運算符鲜结。如果兩個操作數(shù)都是真的,那么則條件成立活逆。 (a and b) 為 true. or 所謂邏輯OR運算符精刷。如果有兩個操作數(shù)都是非零然后再條件變?yōu)檎妗?(a or b) 為 true. not 所謂邏輯非運算符。用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài)蔗候。如果一個條件為真怒允,則邏輯非運算符將返回false。 not(a and b) 為 false.?

? ?Python成員運算符:?

? 除了前面討論的運算符锈遥,Python成員運算符纫事,在一個序列中成員資格的測試,如字符串所灸,列表或元組丽惶。有兩個成員運算符解釋如下:?

? [ 示例 ]?

? ?操作符 描述 示例 in 計算結(jié)果為true,如果它在指定找到變量的順序爬立,否則false钾唬。 x在y中,在這里產(chǎn)生一個1侠驯,如果x是序列y的成員抡秆。 not in 計算結(jié)果為true,如果它不找到在指定的變量順序吟策,否則為false儒士。 x不在y中,這里產(chǎn)生結(jié)果不為1踊挠,如果x不是序列y的成員乍桂。?

? ?試試下面的例子就明白了所有的Python編程語言提供會員運算符:?

? #!/usr/bin/python

a =10

b =20

list =[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 notin 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"?

? 當執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:?

? Line 1 - a is not available in the given list

Line 2 - b is not available in the given list

Line 3 - a is available in the given list?

? ?Python標識運算符:?

? 標識符比較兩個對象的內(nèi)存位置冲杀。兩個運算符標識解釋如下:?

? [ 查看示例 ]?

? ?運算符 描述 例子 is 計算結(jié)果為true,如果操作符兩側(cè)的變量指向相同的對象睹酌,否則為false权谁。 x是y,這里結(jié)果是1憋沿,如果id(x)的值為id(y)旺芽。 is not 計算結(jié)果為false,如果兩側(cè)的變量操作符指向相同的對象辐啄,否則為true采章。 x不為y,這里結(jié)果不是1壶辜,當id(x)不等于id(y)悯舟。?

? ?試試下面的例子就明白了所有Python編程語言提供的標識運算符:?

? #!/usr/bin/python

a =20

b =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 isnot b ):print"Line 4 - a and b do not have same identity"else:print"Line 4 - a and b have same identity"?

? 當執(zhí)行上面的程序它會產(chǎn)生以下結(jié)果:?

? Line 1 - a and b have same identity

Line 2 - a and b have same identity

Line 3 - a and b do not have same identity

Line 4 - a and b do not have same identity?



? ?Python運算符優(yōu)先級?

? 下表列出了所有運算符從最高優(yōu)先級到最低。?

? [ 查看示例 ]?

? ?運算符 描述 ** 冪(提高到指數(shù)) ~ + - 補碼砸民,一元加號和減號(方法名的最后兩個+@和 - @) * / % // 乘抵怎,除,取模和地板除 + - 加法和減法 >> << 左岭参,右按位轉(zhuǎn)移 & 位'AND' ^ | 按位異'或`'和定期`或' <= < > >= 比較運算符 <> == != 等式運算符 = %= /= //= -= += *= **= 賦值運算符 is is not 標識運算符 in not in 成員運算符 not or and 邏輯運算符?

? ?原文:http://www.yiibai.com/python/python_basic_operators.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末反惕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子演侯,更是在濱河造成了極大的恐慌姿染,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秒际,死亡現(xiàn)場離奇詭異悬赏,居然都是意外死亡,警方通過查閱死者的電腦和手機程癌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門舷嗡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嵌莉,你說我怎么就攤上這事进萄。” “怎么了锐峭?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵中鼠,是天一觀的道長。 經(jīng)常有香客問我沿癞,道長援雇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任椎扬,我火速辦了婚禮惫搏,結(jié)果婚禮上具温,老公的妹妹穿的比我還像新娘。我一直安慰自己筐赔,他們只是感情好铣猩,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茴丰,像睡著了一般达皿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贿肩,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天峦椰,我揣著相機與錄音,去河邊找鬼汰规。 笑死汤功,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的控轿。 我是一名探鬼主播冤竹,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茬射!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冒签,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤在抛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后萧恕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刚梭,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年票唆,在試婚紗的時候發(fā)現(xiàn)自己被綠了朴读。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡走趋,死狀恐怖衅金,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情簿煌,我是刑警寧澤氮唯,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站姨伟,受9級特大地震影響惩琉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夺荒,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一瞒渠、第九天 我趴在偏房一處隱蔽的房頂上張望良蒸。 院中可真熱鬧,春花似錦伍玖、人聲如沸诚啃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽始赎。三九已至,卻和暖如春仔燕,著一層夾襖步出監(jiān)牢的瞬間造垛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工晰搀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留五辽,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓外恕,卻偏偏與公主長得像杆逗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鳞疲,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容