问题

如果Python没有三元条件运算符,是否可以使用其他语言结构来模拟一个?



解决方法

是的,这是版本中添加了 语法是:

a if condition else b

首先对条件进行求值,然后根据 Boolean 条件的值
如果 condition 求值为 True ,则返回,否则返回 b .

例如:

>>> 'true' if True else 'false'
'true'
>>> 'true' if False else 'false'
'false'

请记住,它有些Pythonistas皱眉的原因有几个:

  • The order of the arguments is different from many other languages (such as C, Ruby, Java, etc.), which may lead to bugs when people unfamiliar with Python's "surprising" behaviour use it (they may reverse the order).
  • Some find it "unwieldy", since it goes contrary to the normal flow of thought (thinking of the condition first and then the effects).
  • Stylistic reasons.

如果您无法记住订单,请记住,如果您大声读出来,您(几乎)说您的意思.例如, x = 4如果b> 8 else 9 被朗读为如果b大于8则x将为4,否则9 .

官方文件:




相关问题推荐