gpt4 book ai didi

python - 尝试在一行 if 语句中使用 pass 关键字时出错

转载 作者:太空狗 更新时间:2023-10-30 01:51:41 24 4
gpt4 key购买 nike

难过这行得通:

if 5 % 2 == 0:
print "no remainder"
else:
pass

但不是这个:

print "no remainder" if 5% 2 == 0 else pass

SyntaxError: invalid syntax

最佳答案

后者不是 if 语句,而是一个表达式(我的意思是,print 是一个语句,但其余部分被解释为表达式,失败了) .表达式具有值。 pass 没有,因为它是一个语句。

您可能将其视为两个语句(print 或 pass),但解释器的看法不同:

expr = "no remainder" if 5% 2 == 0 else pass
print expr

第一行有问题,因为它混合了表达式和语句。

单行 if 语句是另一回事:

if 5 % 2 == 0: print "no remainder"

这可以称为单行 if 语句。

附言三元表达式在 official docs 中称为“条件表达式” .

三元表达式使用您尝试使用的语法,但它需要两个表达式 和一个条件(也是一个表达式):

expr1 if cond else expr2

如果 bool(cond) == True 则采用 expr1 的值,否则采用 expr2

关于python - 尝试在一行 if 语句中使用 pass 关键字时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com