小编Nik*_*ita的帖子

与 Python 的 `in` 运算符相关的混淆

我发现 Python 的in操作符有奇怪的行为

d = {}
'k' in d == False # False! 
Run Code Online (Sandbox Code Playgroud)

我认为这是因为优先级:

('k' in d) == False # True, it's okay
'k' in (d == False) # Error, it's also okay
Run Code Online (Sandbox Code Playgroud)

但是,什么优先级评估以下表达式呢?

d = {}
'k' in d == False
Run Code Online (Sandbox Code Playgroud)

如果是因为优先级错误,为什么它不会触发错误,例如:

'k' in (d == False)
Run Code Online (Sandbox Code Playgroud)

换句话说,这个表达式在 Python 的底层发生了什么?

'k' in d == False
Run Code Online (Sandbox Code Playgroud)

python

13
推荐指数
1
解决办法
474
查看次数

标签 统计

python ×1