谁能解释一下为什么:
>>> print 1,2 if 0 else 3,4
1 3 4
但是:
>>> print(1,2) if 0 else 3,4
3 4
或者也许这与这种情况根本无关?
最佳答案
您的第一个示例提供了三个要打印
的项目,它们之间用逗号分隔:
1
2 if 0 else 3
4
您可以将括号放在不同的位置并得到相同的结果:
print 1, (2 if 0 else 3), 4
如果您想要元组行为,可以在此处使用括号:
print (1, 2) if 0 else (3, 4)
当然,问题在于它打印为元组而不是单独的参数。实际上,最好的办法是使用 from __future__ import print_function
并使用 print(*((1, 2) if 0 else (3, 4)))
或有一个完整的 if
-else
block :
if 0:
print 1, 2
else:
print 3, 4
关于python - python 的 if/else 一个线性参数替换的具体情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36815775/