[英]Python conditional variable assignment
大家早,
有人可以建議,是否有可能實現這樣的目標:
def myFunction(someParam)
if someParam == 1:
return "This and that"
else:
return None
someVariable = someVariable || myFunction(valuePassedIn)
即,給定“someVariable”具有現有值,我想保留該值,或者用“myFunction”返回的值替換它,前提是它不是None?
顯然,我可以這樣做:
if myFunction(valuePassedIn) != None:
someVariable = myFunction(valuePassedIn)
但這當然是兩次調用myFunction。 或者,我可以這樣做:
myFuncRes = myFunction(valuePassedIn)
if MyFuncRes != None:
someVariable = myFuncRes
但是,根據我的“||”,如果我可以將其減少到一行代碼就好了。 在上面的第一個代碼段中的行。 顯然我已經看過條件表達式文檔 ,但除非我誤解,否則這仍然需要調用myFunction
兩次?
我猜另外一個選擇是將someVariable
作為額外的參數傳遞給myFunction
並使用它作為“else”返回而不是None,但我不禁覺得這有點亂 - 而Python可能有更多的光滑我可以用?
謝謝
是的,你可以這樣做
請檢查以下代碼
>>> a = 1
>>> def test(b):
... return b*10
...
>>> c = a or test(2)
>>> c
1
>>> a = 0
>>> c = a or test(2)
>>> c
20
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.