如果结果存在,则将变量设置为等于结果

时间:2010-10-20 22:54:16

标签: python

这看起来非常冗长,特别是对于长函数名称,在Python中有更好的方法吗?

if someRandomFunction():
    variable = someRandomFunction()

编辑:对于更多上下文变量尚未定义,它将是树上的新节点。如果someRandomFunction()返回一个值,我只想创建这个节点。 someRandomFunction()应该从不同类型的树返回某个节点的字符串表示。

5 个答案:

答案 0 :(得分:14)

你可以:

variable = someRandomFunction() or variable

有关详细信息,请参阅Python文档中的Boolean Operations

答案 1 :(得分:6)

temp= someRandomFunction()
if temp:
    variable = temp

答案 2 :(得分:0)

或许有点非正统,但您可以修改someRandomFunction()以便在返回之前将其最后的结果保存在函数属性中,然后您可以执行此操作。

def someRandomFunction():
    ...
    someRandomFunction.result = <...>
    return someRandomFunction.result

if someRandomFunction():
    variable = someRandomFunction.result

答案 3 :(得分:0)

我认为你的答案太冗长了。它确切地说明了它的作用。但是,既然你已经说过你的口味过于冗长我会选择

s = myFunc()或someVariable

方法

答案 4 :(得分:-1)

(如果您尚未注册,显然无法删除答案。)

这些不是您正在寻找的机器人...继续......