【发布时间】:2022-01-06 18:35:42
【问题描述】:
如果 Python 没有三元条件运算符,是否可以使用其他语言结构来模拟一个?
【问题讨论】:
-
在上面评论中引用的 Python 3.0 官方文档中,这被称为“conditional_expressions”,并且定义非常隐秘。该文档甚至不包含“三元”一词,因此除非您确切知道要查找的内容,否则您将很难通过 Google 找到它。 version 2 documentation 更有帮助,它包含指向 "PEP 308" 的链接,其中包含许多与此问题相关的有趣历史背景。
-
“三元”(具有三个输入)是这种实现的必然属性,而不是概念的定义属性。例如:SQL 有
case [...] { when ... then ...} [ else ... ] end具有类似的效果,但根本不是三元的。 -
ISO/IEC 9899(C 编程语言标准)第 6.5.15 节将其称为“条件运算符”
-
维基百科在文章“?:”中全面介绍了这一点。
-
在 nobar 发表评论后的几年里,conditional expression documentation 已更新为说 条件表达式(有时称为“三元运算符”)...
标签: python operators ternary-operator conditional-operator