将一个简单的 if-then-else 语句放在一行上

我刚刚进入Python,我真的很喜欢语法的简洁性。但是,有没有一种更简单的方法来编写 -- 语句,以便它适合一行?ifthenelse

例如:

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

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

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

Python也有类似的东西吗?

更新

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

我问的是一般的语法。


答案 1

这更具体地说是三元运算符表达式,而不是 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

答案 2

此外,您仍然可以使用“普通”语法并将其与冒号合并为一行。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))