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

if count == N:
    count = 0
else:
    count = N + 1
count = count == N ? 0 : count + 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

而且,您仍然可以使用 “普通” 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))
count = 0 if count == N else N+1

- 三元运算符。尽管我会说您的解决方案比这更具可读性。

通用三元语法:

value_true if <test> else value_false

另一种方法可以是:

[value_false, value_true][<test>]

例如:

count = [0,N+1][count==N]

在选择一个之前,这将评估两个分支。仅评估所选分支:

[lambda: value_false, lambda: value_true][<test>]()

例如:

count = [lambda:0, lambda:N+1][count==N]()
<execute-test-successful-condition> if <test> else <execute-test-fail-condition>

加上您的代码段,它将变成

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