C和许多其他语言都有一个conditional (aka ternary)运算符。这允许您根据条件的真实性在两个值之间做出非常简洁的选择,这使得表达式(包括赋值)非常简洁。
我错过了这一点,因为我发现我的代码有很多条件赋值,在Python中有四行:
if condition:
var = something
else:
var = something_else
而在C语言中是:
var = condition? something: something_else;
一个文件中有一两次是可以的,但是如果有很多条件赋值,那么行数就会爆炸,最糟糕的是,眼睛会被它们吸引。
我喜欢条件运算符的简洁性,因为它使我认为不具有战略意义的东西不会在浏览代码时分散我的注意力。
那么,在Python中,有没有什么技巧可以用来将赋值放到一行上,以近似于我概述的条件运算符的优点?
Python有这样一个操作符:
或者,尽管不推荐(见@karadoc的评论):
在旧的Python代码中,您可能会看到诀窍:
然而,这已经被非常优越的
... if ... else ...
结构所取代:相关问题 更多 >
编程相关推荐