最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python三目運算符(三元運算符)用法詳解(含實例代碼)

 更新時間:2023年02月03日 11:54:35   作者:旅途中的寬~  
三元運算符在Python里被稱為條件表達式,這些表達式基于真(true)/假(false)的條件判斷,在Python 2.4以上才有了三元操作,下面這篇文章主要給大家介紹了關(guān)于Python三目運算符(三元運算符)用法的相關(guān)資料,需要的朋友可以參考下

一、前言

三目運算符,又稱條件運算符,是計算機語言(c,c++,java等)的重要組成部分。它是唯一有3個操作數(shù)的運算符,有時又稱為三元運算符。

定義:

對于條件表達式b ? x : y,先計算條件b,然后進行判斷。如果b的值為true,計算x的值,運算結(jié)果為x的值;否則,計算y的值,運算結(jié)果為y的值。

一個條件表達式絕不會既計算x,又計算y。

條件運算符是右結(jié)合的,也就是說,從右向左分組計算。例如,a ? b : c ? d : e將按a ? b : (c ? d : e)執(zhí)行。

可以理解為條件 ? 結(jié)果1 : 結(jié)果2 里面的?號是格式要求。也可以理解為條件是否成立,條件成立為結(jié)果1,否則為結(jié)果2。

注意:在C語言中,結(jié)果1 和 結(jié)果2的類型必須一致。

a ? b : c簡單理解方式為:

if(a) {
    return b;
    
} else { 
    return c;
}

一個C語言中的例子解釋:

int a = 2;
int c = 3;
int b = (a > c) ? a : c;
cout << "b:" << b << endl;

cout是c++語言的輸出符號。

endl英語意思是end of line,即一行輸出結(jié)束,然后輸出下一行。

cout<<endl是使程序此行輸出結(jié)束。

cout<<"b:"<<b<<endl:類似于C中的:printf(“b:%d\n”,b)。

我們知道a>c的結(jié)果是False,所以b值返回c。

所以我們的輸出結(jié)果為:

b:3

接下來看個復(fù)雜的:

int a = 1, b = 2, z, c = 3;
z = a > b ? a : (b > c ? b : c);
cout << "z:" << z << endl;

我們看右部分:b>c返回值為False,所以返回3

a>b返回False,所以最終輸出為:z:3

至此,大家理解了三元運算符的定義。

二、Python中的三目運算符

Python語言不像Java、JavaScript等這些語言有這樣的三目運算:

判段的條件?條件為真時的結(jié)果:條件為假時的結(jié)果

但是Python也有自己的三目運算符:

條件為真時的結(jié)果 if 判段的條件 else 條件為假時的結(jié)果

即:Python可以通過if語句來實現(xiàn)三目運算符的功能,因此可以把這種if語句當做三目運算符,具體語法格式如下:

返回True執(zhí)行 if 表達式 else 返回False執(zhí)行

我們舉一個簡單的例子來幫助理解:

假設(shè)現(xiàn)在有兩個數(shù)字,我們希望獲得其中較大的一個,那么可以使用 if else 語句,例如:

if a>b:
    max = a
else:
    max = b

但是 Python 提供了一種更加簡潔的寫法,如下所示:

max = a if a>b else b

這里詳細解釋一下:

max = a if a>b else b 的含義是:

如果 a>b 成立,就把 a 作為整個表達式的值,并賦給變量 max;

如果 a> b 不成立,就把 b 作為整個表達式的值,并賦給變量 max。

第二個例子:

a = "返回True執(zhí)行" if 3 > 4 else "返回False執(zhí)行"
print (a) 

我們的判斷條件為3>4是不滿足的,所以執(zhí)行返回False執(zhí)行

運行結(jié)果:返回False執(zhí)行

三、在三目運算符中放置多條語句方式

在Python的三目運算符中,允許在"返回True執(zhí)行"和"返回Flase執(zhí)行"中放置多條語句,有以下兩種方式:

1. 使用英文逗號隔開,每條放置的語句都會執(zhí)行,程序返回多條語句的返回值組成的元組:

b = 3 + 1, "3 > 2",print('AAA') if 1 > 2 else print("BBB"),2 + 2
print (b)

上面的例子中,因為 1 > 2False,所以執(zhí)行并返回3 + 1,"3 > 2",2 + 2,print("BBB")這四條語句,由于print()函數(shù)沒有返回值,故返回None,運行結(jié)果如下:

BBB
(4, '3 > 2', None, 4)

2. 使用英文分號隔開,每條語句都會執(zhí)行,但程序只會返回第一條語句的返回值:

b = 1 + 1; "3 > 2";print('AAA') if 1 > 2 else print("BBB");2 + 2
print (b)

這里的if…else…執(zhí)行print(“BBB”),返回的是第一條語句1 + 1的返回值2,所以,運行結(jié)果如下:

BBB2

四、總結(jié)

這是一種類似于其它編程語言中三目運算符? :的寫法。

Python 是一種極簡主義的編程語言,它沒有引入? :這個新的運算符,而是使用已有的 if else 關(guān)鍵字來實現(xiàn)相同的功能。

使用 if else 實現(xiàn)三目運算符(條件運算符)的格式如下:

exp1 if contion else exp2

condition 是判斷條件,exp1exp2 是兩個表達式。

如果 condition 成立(結(jié)果為真),就執(zhí)行 exp1,并把 exp1 的結(jié)果作為整個表達式的結(jié)果;

如果 condition 不成立(結(jié)果為假),就執(zhí)行 exp2,并把 exp2 的結(jié)果作為整個表達式的結(jié)果。

五、三目運算符的嵌套

Python 三目運算符支持嵌套,如此可以構(gòu)成更加復(fù)雜的表達式。在嵌套時需要注意 if 和 else 的配對,例如:

a if a>b else c if c>d else d

應(yīng)該理解為:

a if a>b else ( c if c>d else d )

就是我們上面講的:條件運算符是右結(jié)合的

例子:

a = int( input("Input a: ") )
b = int( input("Input b: ") )
print("a大于b") if a>b else ( print("a小于b") if a<b else print("a等于b") )

運行結(jié)果:

Input a: 5
Input b: 6
a小于b

該程序是一個嵌套的三目運算符。程序先對 a>b 求值,如果該表達式為 True,程序就返回執(zhí)行第一個表達式 print(“a大于b”),否則將繼續(xù)執(zhí)行 else 后面的內(nèi)容,也就是:( print("a小于b") if a<b else print("a等于b") ),進入該表達式后,先判斷 a<b 是否成立,如果 a<b 的結(jié)果為 True,將執(zhí)行 print(“a小于b”),否則執(zhí)行 print(“a等于b”)。

總結(jié)

到此這篇關(guān)于Python三目運算符(三元運算符)用法詳解的文章就介紹到這了,更多相關(guān)Python三目運算符用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python機器學(xué)習(xí)之KNN近鄰算法

    Python機器學(xué)習(xí)之KNN近鄰算法

    KNN可以說是最簡單的分類算法之一,同時,它也是最常用的分類算法,文中非常詳細的介紹了該算法,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python虛擬環(huán)境的創(chuàng)建和使用詳解

    Python虛擬環(huán)境的創(chuàng)建和使用詳解

    這篇文章主要給大家介紹了關(guān)于Python虛擬環(huán)境的創(chuàng)建和使用的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python簡單調(diào)用MySQL存儲過程并獲得返回值的方法

    Python簡單調(diào)用MySQL存儲過程并獲得返回值的方法

    這篇文章主要介紹了Python調(diào)用MySQL存儲過程并獲得返回值的方法,涉及Python操作MySQL存儲過程的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Python 爬蟲模擬登陸知乎

    Python 爬蟲模擬登陸知乎

    這篇文章主要介紹了Python 爬蟲模擬登陸知乎的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Python實現(xiàn)簡單多線程任務(wù)隊列

    Python實現(xiàn)簡單多線程任務(wù)隊列

    本文給大家介紹的是使用很簡單的代碼實現(xiàn)的多線程任務(wù)隊列,給大家一個思路,希望對大家學(xué)習(xí)python能夠有所幫助
    2016-02-02
  • 使用Python pyglet庫編寫一個可播放音樂的揚聲器類流程詳解

    使用Python pyglet庫編寫一個可播放音樂的揚聲器類流程詳解

    這篇文章主要介紹了使用Python pyglet庫編寫一個可播放音樂的揚聲器類,Pyglet主要用于創(chuàng)建視頻游戲、獨立游戲和多媒體應(yīng)用,它提供了一組用于制作游戲的常用功能,包括圖形渲染、聲音播放、事件處理等等,需要的朋友可以參考下
    2024-03-03
  • Python在固定文件夾批量創(chuàng)建固定后綴的文件(方法詳解)

    Python在固定文件夾批量創(chuàng)建固定后綴的文件(方法詳解)

    文章講述了如何使用Python批量創(chuàng)建后綴為.md的文件夾,生成100個,代碼中需要修改的路徑、前綴和后綴名,并提供了注意事項和代碼示例,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • python?numpy庫之如何使用matpotlib庫繪圖

    python?numpy庫之如何使用matpotlib庫繪圖

    Numpy的主要對象是同構(gòu)多維數(shù)組,它是一個元素表,所有類型都相同,由非負整數(shù)元組索引,在Numpy維度中稱為軸,這篇文章主要介紹了python?numpy庫?使用matpotlib庫繪圖,需要的朋友可以參考下
    2022-10-10
  • Python幫你解決手機qq微信內(nèi)存占用太多問題

    Python幫你解決手機qq微信內(nèi)存占用太多問題

    你有沒有發(fā)現(xiàn)以前16G內(nèi)存也可以裝幾個游戲玩,現(xiàn)在128G的卻日常使用都不夠了?更不用說裝什么游戲,這其實是軟件內(nèi)存占用過多導(dǎo)致的,今天我們用python來清理下
    2022-02-02
  • itchat接口使用示例

    itchat接口使用示例

    這篇文章主要介紹了itchat接口使用示例,itchat接口的相關(guān)知識,這里是一段代碼示例,這里分享給大家,供需要的朋友參考。努力學(xué)習(xí)中~
    2017-10-10

最新評論

长顺县| 曲麻莱县| 怀化市| 康定县| 丹江口市| 富锦市| 盈江县| 三原县| 吕梁市| 长武县| 罗江县| 泸水县| 安顺市| 山东省| 肃宁县| 蒙城县| 扶沟县| 巢湖市| 涟源市| 察隅县| 武汉市| 鄂温| 宁城县| 吴川市| 东阳市| 泰兴市| 绥阳县| 凤山市| 沛县| 论坛| 南城县| 米泉市| 海兴县| 六盘水市| 彩票| 盐亭县| 晋中市| 湟源县| 石林| 高州市| 武清区|