Python教程之基本運(yùn)算符的使用(下)
運(yùn)算符的優(yōu)先級(jí)和關(guān)聯(lián)性
運(yùn)算符的優(yōu)先級(jí)和關(guān)聯(lián)性: 運(yùn)算符的優(yōu)先級(jí)和關(guān)聯(lián)性決定了運(yùn)算符的優(yōu)先級(jí)。
運(yùn)算符優(yōu)先級(jí)
這用于具有多個(gè)具有不同優(yōu)先級(jí)的運(yùn)算符的表達(dá)式中,以確定首先執(zhí)行哪個(gè)操作。
示例:運(yùn)算符優(yōu)先級(jí)
# 運(yùn)算符優(yōu)先級(jí)示例 # '+' 和 '*' 的優(yōu)先級(jí) expr = 10 + 20 * 30 print(expr) # 'or' 和 'and' 的優(yōu)先級(jí) name = "Alex" age = 0 if name == "Alex" or name == "John" and age >= 2: print("Hello! Welcome.") else: print("Good Bye!!")
輸出
610
Hello! Welcome.
運(yùn)算符關(guān)聯(lián)性
如果一個(gè)表達(dá)式包含兩個(gè)或多個(gè)具有相同優(yōu)先級(jí)的運(yùn)算符,則使用運(yùn)算符關(guān)聯(lián)性來(lái)確定。它可以是從左到右或從右到左。
示例:運(yùn)算符關(guān)聯(lián)性
# 運(yùn)算符關(guān)聯(lián)性示例 # 左右關(guān)聯(lián)性 100 / 10 * 10 計(jì)算為 (100 / 10) * 10 而不是 100 / (10 * 10) print(100 / 10 * 10) # 左右關(guān)聯(lián)性 5 - 2 + 3 計(jì)算為 (5 - 2) + 3 而不是 5 - (2 + 3) print(5 - 2 + 3) # 左右結(jié)合性 print(5 - (2 + 3)) # 左右關(guān)聯(lián)性 2 ** 3 ** 2 計(jì)算為 2 ** (3 ** 2) 而不是 (2 ** 3) ** 2 print(2 ** 3 ** 2)
輸出
100.0
6
0
512
Python 運(yùn)算符測(cè)驗(yàn)
除法運(yùn)算符允許您將兩個(gè)數(shù)字相除并返回一個(gè)商,即左邊的第一個(gè)數(shù)字或數(shù)字除以右邊的第二個(gè)數(shù)字或數(shù)字并返回商。
除法運(yùn)算符有兩種類型:
浮動(dòng)劃分
此運(yùn)算符返回的商始終是浮點(diǎn)數(shù),無(wú)論兩個(gè)數(shù)字是否為整數(shù)。例如:
>>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.0
整數(shù)除法(地板除法)
此運(yùn)算符返回的商取決于傳遞的參數(shù)。如果任何數(shù)字是浮點(diǎn)數(shù),它以浮點(diǎn)數(shù)返回輸出。它也被稱為下限除法,因?yàn)槿绻魏螖?shù)字為負(fù)數(shù),則輸出將被下限。例如:
>>>5//5 1 >>>3//2 1 >>>10//3 3
考慮 Python 中的以下語(yǔ)句。
# A Python program to demonstrate the use of # "http://" for integers print (5//2) print (-5//2)
輸出:
2
-3
第一個(gè)輸出很好,但如果我們來(lái)到 Java/C++ 世界,第二個(gè)可能會(huì)感到驚訝。在 Python 中,“//”運(yùn)算符用作整數(shù)和浮點(diǎn)參數(shù)的下除法。但是,除法運(yùn)算符“/”總是返回一個(gè)浮點(diǎn)值。
注意: “//”運(yùn)算符用于返回小于或等于指定表達(dá)式或值的最接近的整數(shù)值。所以從上面的代碼中,5//2 返回 2。你知道 5/2 是 2.5,小于或等于最接近的整數(shù)是 2[5//2]。(它與正常的數(shù)學(xué)相反,在正常數(shù)學(xué)中,該值為 3)。
例子
# 一個(gè) Python 程序,用于演示使用“/”表示浮點(diǎn)數(shù) print (5.0/2) print (-5.0/2)
輸出
2.5
-2.5
真正的樓層除法運(yùn)算符是“//”。它返回整數(shù)和浮點(diǎn)參數(shù)的下限值。
# 一個(gè) Python 程序,用于演示整數(shù)和浮點(diǎn)數(shù)的“//”的使用 print (5//2) print (-5//2) print (5.0//2) print (-5.0//2)
輸出
2
-3
2.0
-3.0
三元運(yùn)算符
三元運(yùn)算符也稱為條件表達(dá)式,是根據(jù)條件為真或假來(lái)評(píng)估某些內(nèi)容的運(yùn)算符。它在2.5版本中被添加到 Python 中。
它只是允許在單行中測(cè)試條件,替換多行 if-else,使代碼緊湊。
語(yǔ)法 :
[on_true] 如果 [表達(dá)式] 否則 [on_false]
使用三元運(yùn)算符的簡(jiǎn)單方法:
# 演示條件運(yùn)算符的程序 a, b = 10, 20 # 如果 a < b 則復(fù)制 a 的最小值,否則復(fù)制 b min = a if a < b else b print(min)
輸出:
10
使用元組、字典和 lambda 的直接方法
# 演示三元運(yùn)算符的 Python 程序 a, b = 10, 20 # 使用元組選擇一個(gè)項(xiàng)目 (if_test_false,if_test_true)[test] 如果 [a<b] 為真則返回 1,因此索引為 1 的元素將打印,否則如果 [a<b] 為假則返回 0,因此元素為 0 索引將打印 print( (b, a) [a < b] ) # 如果 [a < b] 為真,則使用 Dictionary 選擇項(xiàng)目,然后打印 True 鍵的值,否則,如果 [a<b] 為假,則打印 False 鍵的值 print({True: a, False: b} [a < b]) # lambda 比上述兩種方法更有效,因?yàn)樵?lambda 中,我們確保只評(píng)估一個(gè)表達(dá)式,這與 tuple 和 Dictionary 不同 print((lambda: b, lambda: a)[a < b]())
輸出:
10
10
10
三元運(yùn)算符可以寫成嵌套的 if-else:
# 演示嵌套三元運(yùn)算符的 Python 程序 a, b = 10, 20 print ("Both a and b are equal" if a == b else "a is greater than b" if a > b else "b is greater than a")
上面的方法可以寫成:
# 演示嵌套三元運(yùn)算符的 Python 程序 a, b = 10, 20 if a != b: if a > b: print("a is greater than b") else: print("b is greater than a") else: print("Both a and b are equal")
輸出:
b is greater than a
要在三元運(yùn)算符中使用打印功能,例如:-
示例:在 python3 中使用三元運(yùn)算符查找 2 中的較大數(shù)
a=5 b=7 # [statement_on_True] if [condition] else [statement_on_false] print(a,"is greater") if (a>b) else print(b,"is Greater")
輸出:
7 is Greater
要點(diǎn)
- 首先評(píng)估給定條件 (a < b),然后根據(jù)條件返回的布爾值返回 a 或 b
- 運(yùn)算符中參數(shù)的順序與其他語(yǔ)言
- 在所有 Python 操作中,條件表達(dá)式的優(yōu)先級(jí)最低。
當(dāng)三元運(yùn)算符不存在 時(shí),在 2.5 之前使用的方法在如下給出的表達(dá)式中,解釋器檢查表達(dá)式是否為真,然后評(píng)估 on_true,否則評(píng)估 on_false。
語(yǔ)法 :
'''條件為真時(shí),不執(zhí)行表達(dá)式[on_false],返回“True and [on_true]”的值。 返回“False or [on_false]”的其他值。注意“True and x”等于x。 “假或 x”等于 x。 '''
[表達(dá)式] 和 [on_true] 或 [on_false]
例子 :
# 演示條件運(yùn)算符的程序 a, b = 10, 20 # 如果 a 小于 b,則分配 a,否則分配 b(注意:如果 a 為 0,則它不起作用)。 min = a < b and a or b print(min)
輸出:
10
注意: 此方法的唯一缺點(diǎn)是on_true 不能為零或 False。如果發(fā)生這種情況,將始終評(píng)估 on_false。原因是如果表達(dá)式為真,解釋器將檢查 on_true,如果它為零或假,這將迫使解釋器檢查 on_false 以給出整個(gè)表達(dá)式的最終結(jié)果。
到此這篇關(guān)于Python教程之基本運(yùn)算符的使用(下)的文章就介紹到這了,更多相關(guān)Python運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pygame實(shí)現(xiàn)簡(jiǎn)易飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)簡(jiǎn)易飛機(jī)大戰(zhàn),python版飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python OpenCV 針對(duì)圖像細(xì)節(jié)的不同操作技巧
這篇文章主要介紹了Python OpenCV 針對(duì)圖像細(xì)節(jié)的不同操作,包括圖像像素的說(shuō)明,圖像屬性信息的獲取與修改以及圖像通道的知識(shí)(包括拆分通道和合并通道),需要的朋友可以參考下2021-08-08Python使用random.shuffle()隨機(jī)打亂字典排序
本文主要介紹了Python使用random.shuffle()隨機(jī)打亂字典排序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Python xmltodict模塊安裝及代碼實(shí)例
這篇文章主要介紹了Python xmltodict模塊安裝及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10關(guān)于多種方式完美解決Python pip命令下載第三方庫(kù)的問(wèn)題
這篇文章主要介紹了多種方式完美解決python pip命令下載第三方庫(kù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12python實(shí)現(xiàn)QQ郵箱/163郵箱的郵件發(fā)送
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)QQ郵箱和163郵箱的郵件發(fā)送,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01分析解決Python中sqlalchemy數(shù)據(jù)庫(kù)連接池QueuePool異常
這篇文章主要來(lái)給大家分析sqlalchemy數(shù)據(jù)庫(kù)連接池QueuePool的異常,給大家用詳細(xì)的圖文方式做出了解決的方案,有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09