大家早,
有人可以建议,是否有可能实现以下目标:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句