专栏名称: Crossin的编程教室
编程世界的新手村。 这里有可能是最简单的 Python 入门教程。 每天5分钟,轻松学编程。
目录
相关文章推荐
今天看啥  ›  专栏  ›  Crossin的编程教室

这大概是Python中最会变魔术的魔术方法了

Crossin的编程教室  · 公众号  ·  · 2024-08-15 13:31

文章预览

Python 内置类型的特殊方法(含魔术方法与其它方法)基本都是由 C 语言独立实现,在 Python 层面不存在调用关系。 但是,也有例外:一个非常神秘的魔术方法。 这个方法非常不起眼,用途狭窄,我几乎从未注意过它。然而,当发现它可能是上述“定律”的唯一例外情况时,我认为值得再写一篇文章来详细审视一下它。 本文主要关注的问题有: (1) __missing__()到底是何方神圣? (2) __missing__()有什么特别之处?擅长“大变活人”魔术? (3) __missing__()是否真的是上述发现的例外?如果是的话,为什么会有这种特例? 1、有点价值的__missing__() 从普通的字典中取值时,可能会出现 key 不存在的情况: dd = { 'name' : 'PythonCat' } dd.get( 'age' )         # 结果:None dd.get( 'age' ,  18 )     # 结果:18 dd[ 'age' ]             # 报错 KeyError dd.__getitem__( 'age' )   # ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览