如何编写内联if语句以进行打印?

我仅在将布尔变量设置为时才需要打印一些内容True。因此,看完这个之后,我尝试了一个简单的示例:


>>> a = 100

>>> b = True

>>> print a if b

  File "<stdin>", line 1

    print a if b

             ^

SyntaxError: invalid syntax  

如果我写的话也是一样print a if b==True。


我在这里想念什么?


萧十郎
浏览 416回答 3
3回答

慕婉清6462132

Python不不会有拖尾if 声明。ifPython 有两种:if 声明:if condition: statementif condition:&nbsp; &nbsp; blockif 表达式(在Python 2.5中引入)expression_if_true if condition else expression_if_false请注意,两者print a和b = a都是陈述。只有a一部分是表达。所以如果你写print a if b else 0它的意思是print (a if b else 0)当你写的时候x = a if b else 0它的意思是x = (a if b else 0)现在,如果没有else子句,它将打印/分配什么?打印/分配仍然在那里。请注意,如果您不希望它存在,您总是可以if在一行中编写常规语句,尽管它的可读性较差,并且实际上没有理由避免使用两行变体。

回首忆惘然

内联if-else EXPRESSION必须始终包含else子句,例如:a = 1 if b else 0如果您想使'a'变量值保持不变-修改旧的'a'值(语法要求仍要求其他):a = 1 if b else a这段代码留下一个不变当b转弯是假的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python