在一个lin上放置一个简单的if-then-else语句

2024-10-16 20:49:30 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Python Ternary Operator

我刚开始学习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

我在问一般语法。


Tags: 方法ifcount语法语句operatorelse例子
3条回答

这是一个比if-then更具体的ternary operator表达式,下面是python语法

value_when_true if condition else value_when_false

更好的例子:(谢谢Mr. Burns

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

-三元运算符。尽管我认为你的解决方案比这个更具可读性。

此外,您仍然可以使用“普通”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)) 

相关问题 更多 >