在一行中放置一个简单的 if-then-else 语句

新手上路,请多包涵

我刚刚接触 Python,我真的很喜欢它简洁的语法。但是,是否有一种更简单的方法来编写 if - then - else 语句使其适合一行?

例如:

 if count == N:
    count = 0
else:
    count = N + 1

有没有更简单的写法?我的意思是,在 Objective-C 中我会这样写:

 count = count == N ? 0 : count + 1;

Python 有类似的东西吗?

更新

我知道在这种情况下我可以使用 count == (count + 1) % N

我问的是一般语法。

原文由 Abizern 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 342
2 个回答

这是一个比 if-then 更具体的 三元运算符 表达式,这是 python 语法

value_when_true if condition else value_when_false

更好的例子:( 感谢伯恩斯 先生

'Yes' if fruit == 'Apple' else 'No'

现在使用赋值并与 if 语法对比

fruit = 'Apple'
isApple = True if fruit == 'Apple' else False

对比

fruit = 'Apple'
isApple = False
if fruit == 'Apple' : isApple = True

原文由 cmsjr 发布,翻译遵循 CC BY-SA 4.0 许可协议

此外,您仍然可以使用“普通” if 语法并将其与冒号合并为一行。

 if i > 3: print("We are done.")

要么

field_plural = None
if field_plural is not None: print("insert into testtable(plural) '{0}'".format(field_plural))

原文由 Johannes Braunias 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题