C和许多其他语言都有运算符。这允许您根据条件的真实性在两个值之间做出非常简洁的选择,这使得表达式(包括赋值)非常简洁。我错过了这一点,因为我发现我的代码有很多条件赋值,这些条件赋值在Python中只有四行: var = something var = something_elsesomething : something_else;
在一个文件中使用一两次是可以的,但是如果你有很多条件赋值,行数就会爆炸,最糟糕的是,它们会吸引眼球。
只有一个关于三元条件运算符的小问题,这个问题让我困惑了很长一段时间。代码示例(python 2.7):>>> x, y>>> (x == None and x or y)>>> (x != None and x or y)>>> (x if x == None else y)
第三行和第四行是老式的条件运算符。两者都会产生相同的结果。显然,前者