簡體   English   中英

Python條件變量賦值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM