【发布时间】:2018-01-18 07:21:05
【问题描述】:
A = 314
if A == A == A:
print('True #1')
if A == A == 271:
print('True #2')
lie = 0
if lie is lie is lie:
print('no matter how white, how small,')
print('how incorporating of a smidgeon')
print('of truth there be in it.')
结果:
True #1
no matter how white, how small,
how incorporating of a smidgeon
of truth there be in it.
我知道在 if 语句中使用两个“=”和“is”是不正常的。但我想知道 Python 解释器如何解释 if 语句。
表达式lie is lie is lie是同时解释,还是短路方式?
【问题讨论】:
-
“同时”是什么意思?我猜它被解释为
0 < x < 3只是使用不同的运算符(和操作数)。 -
有趣的问题,但几乎可以肯定是一个骗子,之前在 SO 上必须问过运算符链接。
-
@tripleee 非“同时”,我的意思是“谎言就是谎言”返回“真”,然后“真就是谎言”,这可能会失败。根据回复,我理解为“谎言就是谎言,谎言就是谎言”。
标签: python