【发布时间】:2018-02-15 17:31:35
【问题描述】:
许多语言中的三元运算符是这样工作的:
x = f() ? f() : g()
如果f() 为真,那么x 的值被分配为f(),否则它被分配为g() 的值。然而,有些语言有一个更简洁的elvis operator,它在功能上是等效的:
x = f() ?: g()
在python中,三元运算符表示如下:
x = f() if f() else g()
但是python有更简洁的elvis操作符吗?
可能是这样的:
x = f() else g() # Not actually valid python
【问题讨论】:
-
撤消欺骗关闭,因为这不要求空合并行为。 (此外,旧的欺骗目标的公认答案容易出错且很糟糕。)
标签: python conditional-operator