只有当布尔变量设置为True
时,我才需要打印一些东西.所以,在看了this之后,我try 了一个简单的例子:
>>> a = 100
>>> b = True
>>> print a if b
File "<stdin>", line 1
print a if b
^
SyntaxError: invalid syntax
如果我写print a if b==True
也是一样的.
我错过了什么吗?
只有当布尔变量设置为True
时,我才需要打印一些东西.所以,在看了this之后,我try 了一个简单的例子:
>>> a = 100
>>> b = True
>>> print a if b
File "<stdin>", line 1
print a if b
^
SyntaxError: invalid syntax
如果我写print a if b==True
也是一样的.
我错过了什么吗?
Python not后面有一个if
statement.
Python中有两种类型的if
:
if
条声明:
if condition: statement
if condition:
block
if
expression(在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
条款,它会打印/分配什么?打印/作业(job)是still there.
请注意,如果您不希望它出现,您可以始终在一行上编写常规的if
语句,尽管它的可读性较差,并且没有理由避免使用两行变体.