为什么这是无效的
print('true') if False else print('false')
Run Code Online (Sandbox Code Playgroud)
但这个不是
def p(t):
print(t)
p('true') if False else p('false')
Run Code Online (Sandbox Code Playgroud)
正如已经指出的那样(@ NPE,@ Blender和其他人),在Python2.x中print是一个声明,它是您问题的根源.但是,您不需要第二个print在示例中使用三元运算符:
>>> print 'true' if False else 'false'
false
Run Code Online (Sandbox Code Playgroud)
在Python 2中,print是一个语句,因此不能直接在三元运算符中使用。
在Python 3中,print是一个函数,因此可以在三元运算符中使用。
在 Python 2 和 3 中,您可以将print(或任何控制语句等)包装在函数中,然后在三元运算符中使用该函数。
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |