網(wǎng)站做app的軟件叫什么seo快速優(yōu)化排名
Python可通過if語句來實現(xiàn)三目運算符的功能,因此可以近似地把這種if語句當(dāng)成三目運算符。作為三目運算符的f語句的語法格式如下
True_statements if expression else False_statements
三目運算符的規(guī)則是:先對邏輯表達式expression求值,如果邏輯表達式返回True,則執(zhí)行并返回True statements的值;如果邏輯表達式返回 False,則執(zhí)行并返回False statements的值??慈缦麓a。
# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopia = 7b = 4c = "a大于b" if a > b else "a不大于b"# 輸出"a大于b"print(c)
實際上,如果只是為了在控制臺輸出提示信息,還可以將上面的三目運算符表達式改為如下形式(程序清單同上)。
# 輸出"a大于b"print("a大于b") if a > b else print("a不大于b")
Python允許在三目運算符的True statements或False statements中放置多條語句。Python主要支持兩種放置方式。
1)多條語句以英文逗號隔開:每條語句都會執(zhí)行,程序返回多條語句的返回值組成的元組.
2)多條語句以英文分號隔開:每條語句都會執(zhí)行,程序只返回第一條語句的返回值。
#第一種返回值部分使用兩條語句,用逗號隔開d = print('測試劃水老師傅'),'a大于b' if a>b else 'a不大于b'print(d) #(None, 'a大于b')
上面程序中True statements為print('測試劃水老師傅'),a大于b這兩條語句都會執(zhí)行,程序?qū)祷剡@兩條語句的返回值組成的元組。由于 print()函數(shù)沒有返回值組成的元組,由于print()函數(shù)沒有返回值,相當(dāng)于它的返回值是 None。運行上面代碼,將看到如下結(jié)果。
#第一個返回值部分使用兩條語句,用分號隔開d = print('測試劃水老師傅');x ='a大于b' if a>b else 'a不大于b'print(d) #(None, 'a大于b')print(x)
此時雖然Truestatements包含兩條語句,但程序只會返回第一條語句print('測試劃水老師傅')的返回值,該語句同樣返回None,因此相當(dāng)于str 的返回值為None。運行上面代碼,將看到如下結(jié)果。
需要指出的是,三目運算符支持嵌套,通過嵌套三目運算符,可以執(zhí)行更復(fù)雜的判斷。例如,
下面代碼需要判斷c、d兩個變量的大小關(guān)系:
#下面將輸出“e=f”print("e大于f") if e>f else (print("e小于f") if e<f else print("e等于f"))
上面代碼首先對e>f求值,如果該表達式為True,程序?qū)?zhí)行并返回第一個表達式:print("e大于f");否則系統(tǒng)將會計算else后面的內(nèi)容:(print("e小于f") if e<f else print("e等于f")),這個表達式又是一個嵌套的三目運算符表達式一注意,進入該表達式時只剩下"e小于f"或"e等于f"兩種情況,因此該三目運算符再次判斷e<f,如果該表達式為 True,將會輸出"e小于f"否則只剩下"e等于f"一種情況,自然就輸出該字符串了。