Python使用if函数

时间:2014-10-17 13:24:17

标签: python function if-statement

我正在尝试做以下事情:

myChain = myChain(a,b) if a & b else "do_nothing"

有没有办法这样做?

或者我应该坚持平时:

if a & b: 
   myChain = myChain(a,b) 

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您只想在一行中创建第二个代码块,可以删除换行符:

if a & b: myChain = myChain(a,b) 

如果您绝对不想使用if语句,则可以像在第一个代码块中一样使用条件表达式。但这是一种不寻常的方式。

myChain = myChain(a,b) if a & b else myChain

答案 1 :(得分:1)

我认为这取决于你的目标;你是指分配" do_nothing"到myChain?这就是这两者的作用。如果这很好,那么你很好 - 否则,可能更喜欢

if a and b:
    myNewChain = myChain(a, b) #why assign to the same name as the function/class?
else:
    myNewChain = None

......或者None实际应该是什么。

如果你正在使用它进行流量控制 - 看起来你可能是这样,给定字符串的名称 - 通常不鼓励这样做,只是因为人们希望看到分配什么时候有三元运算符。无论这样做是否存在实际问题,我都不确定。