Python學(xué)習(xí)筆記(六)—Python的運(yùn)算符

轉(zhuǎn)載請(qǐng)注明出處:http://www.reibang.com/p/4564876be7ee
本文出自Shawpoo的簡(jiǎn)書
我的博客:CSDN博客

【Python學(xué)習(xí)筆記專欄】:http://blog.csdn.net/column/details/17658.html

Python中的運(yùn)算符

Python3支持以下幾種類型的運(yùn)算符:

  • 1临扮、算術(shù)運(yùn)算符
  • 2、比較(關(guān)系)運(yùn)算符
  • 3教翩、賦值運(yùn)算符
  • 4杆勇、邏輯運(yùn)算符
  • 5、位運(yùn)算符
  • 6饱亿、成員運(yùn)算符
  • 7蚜退、身份運(yùn)算符

一闰靴、運(yùn)算符的分類

1、算術(shù)運(yùn)算符

運(yùn)算符 描述 實(shí)例
+ 加 - 兩個(gè)對(duì)象相加 10 + 22 輸出結(jié)果:32
- 減 - 得到相反數(shù)或兩個(gè)數(shù)相減 23 - 19 輸出結(jié)果:4
-(5) 輸出結(jié)果: -5
* 乘 - 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的對(duì)象 3 * 4 輸出結(jié)果:12
"abc" * 3 輸出結(jié)果:abcabcabc
[1, 2, 3] * 3 輸出結(jié)果:[1, 2, 3, 1, 2, 3, 1, 2, 3]
/ 除 - 兩個(gè)數(shù)相除 9 / 3 輸出結(jié)果:3
5 / 2 輸出結(jié)果:2.5
% 取模 - 返回除法的余數(shù) 8 % 3 輸出結(jié)果:2
1 % 2 輸出結(jié)果:1
** 冪 - xy表示輸出x的y次冪} 2 ** 3 輸出結(jié)果:8
2 ** -2 輸出結(jié)果:0.25
// 取整除 - 返回商的整數(shù)部分 10 // 3 輸出結(jié)果:3
9.0 // 2.0 輸出結(jié)果:4.0

2钻注、比較(關(guān)系)運(yùn)算符

運(yùn)算符 描述 實(shí)例
== 等于 - 比較對(duì)象是否相等 10 == 20 輸出結(jié)果 :False
[1, 2, 3] == [1, 2, 3] 輸出結(jié)果:True
!= 不等于 - 比較兩個(gè)對(duì)象是否不相等 "abc" != "abc" 輸出結(jié)果:False
[1, 2, 3] != [1, 3, 2] 輸出結(jié)果:True
> 大于 - 返回x是否大于y 5 > 8 輸出結(jié)果:False
< 小于 - 返回x是否小于y 4 < 9 輸出結(jié)果:True
>= 大于等于 - 返回x是否大于等于y 5 >= 3 輸出結(jié)果:True
<= 小于等于 - 返回x是否小于等于y 7 <= 4 輸出結(jié)果:False

ps:所有比較運(yùn)算符返回1表示真蚂且,返回0表示假。這分別與特殊的變量True和False等價(jià)幅恋。注意杏死,這些變量名的大寫。
例如:

>>> (10 > 5) == 1
True
>>> type(3 >= 5)
<class 'bool'>

3捆交、賦值運(yùn)算符

運(yùn)算符 描述 實(shí)例
= 簡(jiǎn)單的賦值運(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

4淑翼、邏輯運(yùn)算符

運(yùn)算符 邏輯表達(dá)式 描述 實(shí)例
and x and y "與" - 如果 x 為 False,x and y 返回 False品追,否則它返回 y 的計(jì)算值 (10 and 20) 返回 20
or x or y "或" - 如果 x 是 True玄括,它返回 x 的值,否則它返回 y 的計(jì)算值 (10 or 20) 返回 10
not not x "非" - 如果 x 為 True肉瓦,返回 False 遭京。如果 x 為 False,它返回 True not(10 and 20) 返回 False

5泞莉、位運(yùn)算符

按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的哪雕。
例如,a = 60鲫趁, b = 13热监,所以 a 的二進(jìn)制為:0011 1100, b的為0000 1101饮寞,則:

運(yùn)算符 描述 實(shí)例
& 按位與運(yùn)算符:參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0 (a & b) 輸出結(jié)果 12 ,二進(jìn)制解釋: 0000 1100
| 按位或運(yùn)算符:只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí)列吼,結(jié)果位就為1幽崩。 (a | b) 輸出結(jié)果 61 ,二進(jìn)制解釋: 0011 1101
^ 按位異或運(yùn)算符:當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí)寞钥,結(jié)果為1 (a ^ b) 輸出結(jié)果 49 慌申,二進(jìn)制解釋: 0011 0001
~ 按位取反運(yùn)算符:對(duì)數(shù)據(jù)的每個(gè)二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?。~x 類似于 -x-1 (~a ) 輸出結(jié)果 -61 理郑,二進(jìn)制解釋: 1100 0011蹄溉, 在一個(gè)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼形式。
<< 左移動(dòng)運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位您炉,由"<<"右邊的數(shù)指定移動(dòng)的位數(shù)柒爵,高位丟棄,低位補(bǔ)0赚爵。 a << 2 輸出結(jié)果 240 棉胀,二進(jìn)制解釋: 1111 0000
>> 右移動(dòng)運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位法瑟,">>"右邊的數(shù)指定移動(dòng)的位數(shù) b >> 2 輸出結(jié)果 3 ,二進(jìn)制解釋: 0000 0011

6唁奢、成員運(yùn)算符

運(yùn)算符 描述 實(shí)例
in 如果在指定的序列中找到值返回 True霎挟,否則返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True麻掸。如:4 in [1, 2 ,3] 輸出結(jié)果:False
not in 如果在指定的序列中沒有找到值返回 True酥夭,否則返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True脊奋。如:"a" not in "bcde" 輸出結(jié)果:True

7熬北、身份運(yùn)算符

Python中的身份運(yùn)算符用于比較兩個(gè)對(duì)象的存儲(chǔ)單元(內(nèi)存地址)。
ps:id()函數(shù)用于獲取對(duì)象的內(nèi)存地址狂魔。

運(yùn)算符 描述 實(shí)例
is is 是判斷兩個(gè)變量是否引用自一個(gè)對(duì)象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個(gè)對(duì)象則返回 True蒜埋,否則返回 False
is not is not 是判斷兩個(gè)變量是否引用自不同的對(duì)象 x is not y , 類似 id(a) != id(b)最楷。如果引用的不是同一個(gè)對(duì)象則返回結(jié)果 True整份,否則返回 False。

拓展:

is 與 == 區(qū)別:
is 用于判斷兩個(gè)變量引用對(duì)象是否為同一個(gè)籽孙, == 用于判斷引用變量的值是否相等烈评。類似于Java中的equal()和==。

例如犯建,兩個(gè)字符串的比較:

a = "abc"
b = "abc"
print(a == b)
print(a is b)
print(id(a))
print(id(b))

執(zhí)行結(jié)果:
True
True
2376173706520
2376173706520

可以看出字符串只要是內(nèi)容(value)相同的話讲冠,那么它們的內(nèi)存地址也一樣。

list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(list1 == list2)
print(list1 is list2)
print(id(list1))
print(id(list2))

執(zhí)行結(jié)果:
True
False
2230720328456
2230720327816

關(guān)于更多is和==的區(qū)別适瓦,請(qǐng)參考我的另一篇文章:Python中is和==(is not和!=)的區(qū)別

二竿开、運(yùn)算符的優(yōu)先級(jí)

以下表格列出了從最高到最低優(yōu)先級(jí)的所有運(yùn)算符:

序號(hào) 運(yùn)算符 描述
1 ** 指數(shù) (最高優(yōu)先級(jí))
2 ~ + - 按位翻轉(zhuǎn), 一元加號(hào)和減號(hào) (最后兩個(gè)的方法名為 +@ 和 -@)
3 * / % // 乘,除玻熙,取模和取整除
4 + - 加法減法
5 >> << 右移否彩,左移運(yùn)算符
6 & 位 'and'
7 ^ 位運(yùn)算符
8 <= , < , > ,>= 比較運(yùn)算符
9 == , != 等于運(yùn)算符
10 = , %= , /= , //= , -= , += , *= , **= 賦值運(yùn)算符
11 is , is not 身份運(yùn)算符
12 in , not in 成員運(yùn)算符
13 not or and 邏輯運(yùn)算符
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市嗦随,隨后出現(xiàn)的幾起案子列荔,更是在濱河造成了極大的恐慌,老刑警劉巖枚尼,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贴浙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡署恍,警方通過查閱死者的電腦和手機(jī)崎溃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锭汛,“玉大人笨奠,你說我怎么就攤上這事袭蝗。” “怎么了般婆?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵到腥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蔚袍,道長(zhǎng)乡范,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任啤咽,我火速辦了婚禮晋辆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宇整。我一直安慰自己瓶佳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布鳞青。 她就那樣靜靜地躺著霸饲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臂拓。 梳的紋絲不亂的頭發(fā)上厚脉,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音胶惰,去河邊找鬼傻工。 笑死,一個(gè)胖子當(dāng)著我的面吹牛孵滞,可吹牛的內(nèi)容都是我干的中捆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼坊饶,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼轨香!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起幼东,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎科雳,沒想到半個(gè)月后根蟹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡糟秘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年简逮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尿赚。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡散庶,死狀恐怖蕉堰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悲龟,我是刑警寧澤屋讶,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站须教,受9級(jí)特大地震影響皿渗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜轻腺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一乐疆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贬养,春花似錦挤土、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至尉桩,卻和暖如春筒占,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蜘犁。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工翰苫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人这橙。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓奏窑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親屈扎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子埃唯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • C++運(yùn)算符重載-上篇 本章內(nèi)容:1. 運(yùn)算符重載的概述2. 重載算術(shù)運(yùn)算符3. 重載按位運(yùn)算符和二元邏輯運(yùn)算符4...
    Haley_2013閱讀 2,295評(píng)論 0 51
  • 前言 Python的創(chuàng)始人為Guido van Rossum。1989年圣誕節(jié)期間鹰晨,在阿姆斯特丹墨叛,Guido為了打...
    依依玖玥閱讀 3,567評(píng)論 6 37
  • 什么是運(yùn)算符?本章節(jié)主要說明Python的運(yùn)算符模蜡。舉個(gè)簡(jiǎn)單的例子 4 +5 = 9 漠趁。 例子中,4 和 5 被稱為...
    張松貴閱讀 629評(píng)論 0 0
  • 盡嘆紅塵惱忍疾, 仙宮又路迢闯传。 醉賞田園景, 心平自逍遙卤妒。
    湘水碧波閱讀 213評(píng)論 0 3
  • (一) 花開花落總有時(shí)甥绿, 人生起浮苦作舟字币。 孤葉繁星伴左右, 九天銀河杯中酒共缕。 (二) 九天銀河落酒樽洗出, 一飲而盡...
    俗人安安閱讀 389評(píng)論 4 11