C和许多其他语言都有一个conditional (aka ternary)操作员。这使您可以根据条件的真实性在两个值之间做出非常简洁的选择,这使得表达式(包括分配)非常简洁。python? (条件/三元)操作员
我想这是因为我发现我的代码有很多是需要在Python四行有条件分配的:
if condition:
var = something
else:
var = something_else
而在C中,它会是:
var = condition? something: something_else;
一次或两次在一个文件中是好的,但是如果你有很多条件赋值,那么线条的数量会爆炸,最糟糕的是,眼睛会被吸引到它们。
我喜欢条件运算符的简洁性,因为它使我认为不具战略性的东西在跳过代码时分散注意力。
那么,在Python中,是否有任何技巧可以用来将赋值指派到单行上,以近似我描述的条件运算符的优点?
“变量=条件和东西或something_else”甚至不工作。 例如,“True and False or True”返回True,而“True False:True”返回False。 – karadoc 2012-05-17 10:27:09
Something or Something_else正常吗?例如,如果某件事是空的,你会把它设置为something_else? – Breedly 2013-05-14 13:01:41