(1) variable = a if exper else b

創新互聯公司是一家業務范圍包括IDC托管業務,虛擬空間、主機租用、主機托管,四川、重慶、廣東電信服務器租用,成都移動服務器托管,成都網通服務器托管,成都服務器租用,業務范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區的互聯網數據服務公司。
(2)variable = (exper and [b] or [c])[0]
(2) variable = exper and b or c
上面三種用法都可以達到目的,類似C語言中 variable = exper ? b : c;即:如果exper表達式的值為true則variable = b,否則,variable = c
例如:
a,b=1,2
max = (a if a b else b)
max = (a b and [a] or [b])[0] #list
max = (a b and a or b)
現在大部分高級語言都支持“?”這個三元運算符(ternary operator),它對應的表達式如下:condition ? value if true : value if false。很奇怪的是,這么常用的運算符python居然不支持!誠然,我們可以通過if-else語句表達,但是本來一行代碼可以完成的非要多行,明顯不夠簡潔。沒關系,在python里其實還是有對應的表達方式的。
Python代碼 import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = Axes3D(fig)X = np.arange(-4, 4, 0.25)Y = np.arange(-4, 4, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='hot')plt.show() 運行結果:
Python沒有三目運算符(?:),但有類似的替代方案,如下:
為真時的結果 if 判定條件 else 為假時的結果
舉例:
如果77大于66,輸出100,否則輸出99
參考:
1、 冰與火之歌:Python的三元表達式
它指的是一個完整的運算符,包含有3個操作數的運算符。比如,條件運算符“?:”就是一個典型的三元符。
本文標題:python三元函數計算 python 三元運算
網頁地址:http://www.yijiale78.com/article46/hhsoeg.html
成都網站建設公司_創新互聯,為您提供網站維護、微信公眾號、做網站、手機網站建設、動態網站、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯