您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python中的三元運算語句怎么寫”,在日常操作中,相信很多人在Python中的三元運算語句怎么寫問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中的三元運算語句怎么寫”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在大部分編程語言中都有三目運算,也稱三元運算,Python語言從Python2.5版本開始也引入了三元運算符。
在Python中,三元運算也稱為條件表達式,語法如下:
true_expression if condition else false_expression
condition是判斷條件,true_expression 和 false_expression 是兩個表達式,用 if…else… 連接。
如果 condition 成立(結果為真),就執行 true_expression,并把 true_expression 的結果作為整個表達式的結果。
如果 condition 不成立(結果為假),就執行 false_expression,并把 false_expression 的結果作為整個表達式的結果。
Python中的三元運算符是用 if 和 else 連接,不像Java等語言中是用問號和冒號連接。
例如:
num1 = int(input('請輸入第一個數字:')) num2 = int(input('請輸入第二個數字:')) # 三元運算 max_num = num1 if num1 >= num2 else num2 print(f'最大值是:{max_num}')
Output:
請輸入第一個數字:15646 請輸入第二個數字:464665 最大值是:464665
上面的示例中,如果 num1 大于或等于 num2,則 max_num 等于 num1,否則 max_num 等于 num2,通過三元運算符求出了兩個數字中的最大值。
1.三元運算語句
numa = 100 numb = 10 max_num = numa if numa >= numb else numb print(f'最大值是:{max_num}')
2.條件語句
numa = 100 numb = 10 if numa >= numb: max_num = numa else: max_num = numb print(f'最大值是:{max_num}')
從上面的對比,三元運算語句和條件語句實現的功能完全一樣,但三元運算語句只需要一行代碼,而條件語句有四行代碼。三元運算語句代碼少且可讀性更高,所以大部分情況下,可以說三元運算語句是條件語句的簡寫。
num = int(input('請輸入數字:')) print('負數') if str(num)[0] == '-' else print('大于等于100') if num >= 100 else print('小于100的正數')
上面這行代碼是一個嵌套的三元運算表達式,其中第一個 else 后面的語句是一個完整的三元運算語句,被作為一個整體當作外層三元運算表達式中的 false_expression ,如下圖所示。
這個表達式相當于下面的條件判斷代碼:
num = int(input('請輸入數字:')) if str(num)[0] == '-': print('負數') else: if num >= 100: print('大于等于100') else: print('小于100的正數')
還可以繼續用相同的方法嵌套更多層,不過個人建議不要寫太多嵌套,否則代碼可讀性不增反降,適得其反。
s = [i if i % 2 == 0 else 10*i for i in range(10)] print(s)
Output:
[0, 10, 2, 30, 4, 50, 6, 70, 8, 90]
當然,還可以舉一反三地將三元運算表達式與字典推導式和集合推導式等組合使用,更多推導式可以參考:Python列表推導式
Python中的三元運算表達式主要有兩個優點:
1.可以用單行的三元運算表達式替換簡單的條件語句,減少代碼行數。
2.簡單的三元運算表達式可以提高代碼的可讀性,使代碼更Pythonic,更優雅。
到此,關于“Python中的三元運算語句怎么寫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。