【发布时间】:2016-04-23 20:02:47
【问题描述】:
谁能解释一下原因:
>>> print 1,2 if 0 else 3,4
1 3 4
但是:
>>> print(1,2) if 0 else 3,4
3 4
或者这根本与这种情况无关?
【问题讨论】:
-
因为第一个是
print 1, (2 if 0 else 3), 4,第二个是print ((1, 2) if 0 else 3), 4- 请参阅docs.python.org/2/reference/… 和docs.python.org/2/library/stdtypes.html#truth-value-testing。目前尚不清楚您对哪一部分感到惊讶。 -
这就是为什么你应该使用带括号的打印的原因。为了避免这种混淆。