【问题标题】:Python inline if when setting variable [duplicate]如果设置变量时Python内联[重复]
【发布时间】:2013-08-02 01:22:57
【问题描述】:

在 Java 中,根据条件将变量设置为值可以在一行中完成 像这样:

variable = (!true) ? 1 : 2

这将导致“2”。

有没有与此代码等效的python?

谢谢。

【问题讨论】:

  • 为了将来参考,这称为三元运算符。该术语应该比“inline if”更易于搜索。
  • 鉴于!true 是一个常量,将其写在一行中的最简单方法是variable = 2。 :)
  • @user2357112:实际上,在 Python 中,它被称为“条件表达式”,if 明确不是 运算符。然而,经过一番抵抗,他们心软了,将sometimes called a "ternary operator" 添加到the docs,因为这是每个来自 C 家族语言的人都在搜索的内容。
  • @abarnert 这只是一个例子。里面的条件可以是任何东西。
  • @Yoni201:我很确定这一点,这就是为什么我把它作为评论(带有愚蠢的笑脸)而不是答案。

标签: java python inline


【解决方案1】:
variable =  1 if not True else 2

一般三元语法:

<value_if_true> if <condition> else <value_if_false>

这在 Python 中被称为 conditional expression,在很大程度上等同于 C 系列语言中的“三元运算符”(尽管它实际上不是运算符)。原提案PEP 308有更多细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多