Python運算符及條件語句

1、Python運算符

Python語言支持以下類型的運算符:

  • 算術運算符
  • 比較(關系)勻速那副
  • 賦值運算符
  • 邏輯運算符
  • 位運算符
  • 成員運算符
  • 身份運算符
  • 運算符優(yōu)先級

  • Python算術運算符

以下假設變量: a=10,b=20:

運算符 描述 實例
+ 加 - 兩個對象相加 a + b 輸出結果 30
- 減 - 得到負數或是一個數減去另一個數 a - b 輸出結果 -10
* 乘 - 兩個數相乘或是返回一個被重復若干次的字符串 a * b 輸出結果 200
/ 除 - x除以y b / a 輸出結果 2
% 取模 - 返回除法的余數 b % a 輸出結果 0
** 冪 - 返回x的y次冪 a**b 為10的20次方类浪, 輸出結果 100000000000000000000
// 取整除 - 返回商的整數部分 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0

注意:Python2.x 里琅捏,整數除整數服鹅,只能得出整數司澎。如果要得到小數部分物独,把其中一個數改成浮點數即可房揭。


  • Python比較運算符

以下假設變量a為10备闲,變量b為20:

運算符 描述 實例
== 等于 - 比較對象是否相等 (a == b) 返回 False。
!= 不等于 - 比較兩個對象是否不相等 (a != b) 返回 true.
<> 不等于 - 比較兩個對象是否不相等 (a <> b) 返回 true捅暴。這個運算符類似 != 恬砂。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y蓬痒。所有比較運算符返回1表示真泻骤,返回0表示假。這分別與特殊的變量True和False等價。注意狱掂,這些變量名的大寫演痒。 (a < b) 返回 true。
>= 大于等于 - 返回x是否大于等于y趋惨。 (a >= b) 返回 False鸟顺。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true器虾。

  • Python賦值運算符

以下假設變量a為10讯嫂,變量b為20:

運算符 描述 實例
= 簡單的賦值運算符 c = a + b 將 a + b 的運算結果賦值為 c
+= 加法賦值運算符 c += a 等效于 c = c + a
-= 減法賦值運算符 c -= a 等效于 c = c - a
*= 乘法賦值運算符 c *= a 等效于 c = c * a
/= 除法賦值運算符 c /= a 等效于 c = c / a
%= 取模賦值運算符 c %= a 等效于 c = c % a
**= 冪賦值運算符 c **= a 等效于 c = c ** a
//= 取整除賦值運算符 c //= a 等效于 c = c // a

  • Python位運算符

按位運算符是把數字看作二進制來進行計算的。Python中的按位運算法則如下:
下表中變量 a 為 60兆沙,b 為 13欧芽,二進制格式如下:

a = 0011 1100    60=2^5+z^4+2^3+2^2

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011
運算符 描述 實例
= 簡單的賦值運算符 c = a + b 將 a + b 的運算結果賦值為 c
+= 加法賦值運算符 c += a 等效于 c = c + a
-= 減法賦值運算符 c -= a 等效于 c = c - a
*= 乘法賦值運算符 c *= a 等效于 c = c * a
/= 除法賦值運算符 c /= a 等效于 c = c / a
%= 取模賦值運算符 c %= a 等效于 c = c % a
**= 冪賦值運算符 c **= a 等效于 c = c ** a
//= 取整除賦值運算符 c //= a 等效于 c = c // a

  • Python邏輯運算符

Python語言支持邏輯運算符,以下假設變量 a 為 10, b為 20:

運算符 邏輯表達式 描述 實例
and x and y 布爾"與" - 如果 x 為 False葛圃,x and y 返回 False千扔,否則它返回 y 的計算值。 (a and b) 返回 20库正。
or x or y 布爾"或" - 如果 x 是非 0曲楚,它返回 x 的值,否則它返回 y 的計算值诀诊。 (a or b) 返回 10洞渤。
not not x 布爾"非" - 如果 x 為 True,返回 False 属瓣。如果 x 為 False载迄,它返回 True。 not(a and b) 返回 False

  • Python成員運算符

除了以上的一些運算符之外抡蛙,Python還支持成員運算符护昧,測試實例中包含了一系列的成員,包括字符串粗截,列表或元組惋耙。

運算符 描述 實例
in 如果在指定的序列中找到值返回 True,否則返回 False熊昌。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True绽榛。
not in 如果在指定的序列中沒有找到值返回 True,否則返回 False婿屹。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True灭美。

  • Python身份運算符

身份運算符用于比較兩個對象的存儲單元

運算符 描述 實例
is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y 昂利, 類似 id(a) != id(b)届腐。如果引用的不是同一個對象則返回結果 True铁坎,否則返回 False。

is 與 == 區(qū)別 :
is 用于判斷兩個變量引用對象是否為同一個犁苏, == 用于判斷引用變量的值是否相等硬萍。


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

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

運算符 描述
** 指數(最高優(yōu)先級)
~ + - 按位翻轉,一元加號減號(最后兩個的方法名為 +@ 和 -@)
* / % // 乘围详,除朴乖,取模和取整除
+ - 加法減法
>> << 右移,左移運算符
& 位 'AND'
^| 位運算符
<= < > >= 比較運算符
<> == != 等于運算符
= %= /= //= -= += *= **= 賦值運算符
is is not 身份運算符
in not in 成員運算符
not or and 邏輯運算符

2短曾、Python條件語句

Python條件語句是通過一條或多條語句的執(zhí)行結果(True或者False)來決定執(zhí)行的代碼塊寒砖。
可以通過下圖來簡單了解條件語句的執(zhí)行過程:


條件語句執(zhí)行流程圖

Python程序語言指定任何非0和非空(null)值為true赐劣,0 或者 null為false嫉拐。
Python 編程中 if 語句用于控制程序的執(zhí)行,基本形式為:

if 判斷條件:
    執(zhí)行語句……
else:
    執(zhí)行語句……

其中"判斷條件"成立時(非零)魁兼,則執(zhí)行后面的語句婉徘,而執(zhí)行內容可以多行,以縮進來區(qū)分表示同一范圍咐汞。
else 為可選語句盖呼,當需要在條件不成立時執(zhí)行內容則可以執(zhí)行相關語句,具體例子如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例1:if 基本用法
 
flag = False
name = 'luren'
if name == 'python':         # 判斷變量否為'python'
    flag = True          # 條件成立時設置標志為真
    print 'welcome boss'    # 并輸出歡迎信息
else:
    print name              # 條件不成立時輸出變量名稱

if 語句的判斷條件可以用>(大于)化撕、<(小于)几晤、==(等于)、>=(大于等于)植阴、<=(小于等于)來表示其關系蟹瘾。
當判斷條件為多個值時,可以使用以下形式:

if 判斷條件1:
    執(zhí)行語句1……
elif 判斷條件2:
    執(zhí)行語句2……
elif 判斷條件3:
    執(zhí)行語句3……
else:
    執(zhí)行語句4……

實例如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例2:elif用法
 
num = 5     
if num == 3:            # 判斷num的值
    print 'boss'        
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0:           # 值小于零時輸出
    print 'error'
else:
    print 'roadman'     # 條件均不成立時輸出

由于 python 并不支持 switch 語句掠手,所以多個條件判斷憾朴,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時喷鸽,可以使用 or (或)众雷,表示兩個條件有一個成立時判斷條件成功;使用 and (與)時做祝,表示只有兩個條件同時成立的情況下砾省,判斷條件才成功。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 例3:if語句多個條件
 
num = 9
if num >= 0 and num <= 10:    # 判斷值是否在0~10之間
    print 'hello'
# 輸出結果: hello
 
num = 10
if num < 0 or num > 10:    # 判斷值是否在小于0或大于10
    print 'hello'
else:
    print 'undefine'
# 輸出結果: undefine
 
num = 8
# 判斷值是否在0~5或者10~15之間
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    print 'hello'
else:
    print 'undefine'
# 輸出結果: undefine

當if有多個條件時可使用括號來區(qū)分判斷的先后順序混槐,括號中的判斷優(yōu)先執(zhí)行编兄,此外 and 和 or 的優(yōu)先級低于>(大于)、<(小于)等判斷符號纵隔,即大于和小于在沒有括號的情況下會比與或要優(yōu)先判斷翻诉。

3炮姨、簡單的語句組

你也可以在同一行的位置上使用if條件判斷語句,如下實例:

#!/usr/bin/python 
# -*- coding: UTF-8 -*-
 
var = 100 
 
if ( var  == 100 ) : print "變量 var 的值為100" 
 
print "Good bye!"

以上代碼執(zhí)行輸出結果如下:

變量 var 的值為100
Good bye!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末碰煌,一起剝皮案震驚了整個濱河市舒岸,隨后出現的幾起案子,更是在濱河造成了極大的恐慌芦圾,老刑警劉巖蛾派,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異个少,居然都是意外死亡洪乍,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門夜焦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壳澳,“玉大人,你說我怎么就攤上這事茫经∠锊ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵卸伞,是天一觀的道長抹镊。 經常有香客問我,道長荤傲,這世上最難降的妖魔是什么垮耳? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮遂黍,結果婚禮上终佛,老公的妹妹穿的比我還像新娘。我一直安慰自己妓湘,他們只是感情好查蓉,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著榜贴,像睡著了一般豌研。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唬党,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天鹃共,我揣著相機與錄音,去河邊找鬼驶拱。 笑死霜浴,一個胖子當著我的面吹牛,可吹牛的內容都是我干的蓝纲。 我是一名探鬼主播阴孟,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晌纫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了永丝?” 一聲冷哼從身側響起锹漱,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎慕嚷,沒想到半個月后哥牍,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡喝检,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年嗅辣,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挠说。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡澡谭,死狀恐怖,靈堂內的尸體忽然破棺而出纺涤,到底是詐尸還是另有隱情译暂,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布撩炊,位于F島的核電站,受9級特大地震影響崎脉,放射性物質發(fā)生泄漏拧咳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一囚灼、第九天 我趴在偏房一處隱蔽的房頂上張望骆膝。 院中可真熱鬧,春花似錦灶体、人聲如沸阅签。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽政钟。三九已至,卻和暖如春樟结,著一層夾襖步出監(jiān)牢的瞬間养交,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工瓢宦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碎连,地道東北人。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓驮履,卻偏偏與公主長得像鱼辙,于是被迫代替她去往敵國和親廉嚼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)倒戏,也就是一...
    悟名先生閱讀 4,148評論 0 13
  • 運算符是處理數據的基本方法前鹅,用來從現有的值得到新的值。JavaScript 提供了多種運算符峭梳,本章逐一介紹這些運算...
    許先生__閱讀 604評論 0 3
  • 我站在城墻外向里窺探 可目光怎能穿透水泥磚塊 可悲呀 就要一直佇立舰绘,等待城門開啟 你有千軍萬馬與我浴血奮戰(zhàn) 我的敵...
    青回音閱讀 486評論 0 2
  • 寄李儋元錫 應物 去年花里逢君別,今年花開已一年葱椭。 世事茫茫難自料捂寿,春愁黯黯[1]獨成眠。 身多疾病思田里孵运,邑有流...
    古詩新讀閱讀 608評論 0 2
  • react.js拖拽排序功能的實現 1.使用 react-dnd npm install--save react-...
    seven_2547閱讀 2,852評論 0 0