我是否可以使用以下内容作为Python中条件运算符的替代方法?
我发现以下代码与Python中的条件运算符类似我是否可以使用以下内容作为Python中条件运算符的替代方法?,python,conditional,Python,Conditional,我发现以下代码与Python中的条件运算符类似 num1 = condition and val1 or val2 我可以用它来代替下面的吗 num1 = val1 if condition else val2 我建议你不要这样做有两个原因 If条件语句清楚地表达了您的意图,这有助于提高代码的可读性 这种行为在不同的python版本(过去或将来)中可能不一致,如果使用这种方法,您可能会以非常微妙的方式破坏代码 我建议你不要这样做有两个原因 If条件语句清楚地表达了您的意图,这有助于提高代码的
num1 = condition and val1 or val2
我可以用它来代替下面的吗
num1 = val1 if condition else val2
我建议你不要这样做有两个原因
我建议你不要这样做有两个原因
不,你不能。如果
val1
为falsy,它将无法正常工作:
不,你不能。如果
val1
为falsy,它将无法正常工作:
您建议的第一个代码并不总是与第二个代码相同,因为这里有一个反例,其中
条件
为真,val1
为0,val2
为2
num1 = True and 0 or 2
num1
赋值后等于2,因为0在逻辑表达式的上下文中计算为false。在第二个代码中,结果将是0。您建议的第一个代码并不总是与第二个代码相同,因为这里有一个反例,其中条件为真,val1
为0,val2
为2
num1 = True and 0 or 2
num1
赋值后等于2,因为0在逻辑表达式的上下文中计算为false。在第二个代码中,结果将是0。…为什么要使用不可读的东西而不是条件?可以这样做,但不是python方式…为什么要使用不可读的东西而不是条件?可以这样做,但不是python方式