fou*_*ing 11 python dictionary descriptor keyerror
为什么会抛出一个KeyError:
d = dict()
d['xyz']
Run Code Online (Sandbox Code Playgroud)
但这不是吗?
d = dict()
d.get('xyz')
Run Code Online (Sandbox Code Playgroud)
如果描述符在这里起作用,我也很好奇.
Mar*_*cny 18
这就是get()方法的定义方式.
从Python文档:
如果key在字典中,则返回key的值,否则返回default.如果未给出default,则默认为None,因此此方法永远不会引发KeyError.
默认的"未找到"返回值是None.您可以返回任何其他默认值.
d = dict()
d.get('xyz', 42) # returns 42
Run Code Online (Sandbox Code Playgroud)
通过括号访问没有默认值,但该get方法有默认值None。来自 get 的文档(通过a = dict(); help(a.get))
Help on built-in function get:
get(...)
D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8811 次 |
| 最近记录: |