NPE*_*NPE 2 python operator-precedence python-2.7
在Python 2.7中,如何做到以下几点
True == 'w' in 'what!?'
Run Code Online (Sandbox Code Playgroud)
表现不同于两者
(True == 'w') in 'what!?'
Run Code Online (Sandbox Code Playgroud)
和
True == ('w' in 'what!?')
Run Code Online (Sandbox Code Playgroud)
?
>>> True == 'w' in 'what!?'
False
>>> (True == 'w') in 'what!?'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'in <string>' requires string as left operand, not bool
>>> True == ('w' in 'what!?')
True
Run Code Online (Sandbox Code Playgroud)
在Python中,比较可以链接在一起:
比较可以任意链接,例如,x <y <= z等于x <y和y <= z,除了y仅被评估一次(但在两种情况下,当x <y被发现时,根本不评估z是假的).
所以你的代码实际上相当于
>>> (True == 'w') and ('w' in 'what!?')
False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |