为了账号安全,请及时绑定邮箱和手机立即绑定

欲对Python的magic method 做深入了解, 哪些资料比较好( 官方文档以及一些网上文章都感觉没有讲透 )

欲对Python的magic method 做深入了解, 哪些资料比较好( 官方文档以及一些网上文章都感觉没有讲透 )

HUWWW 2019-02-21 09:36:08
2016/12/19 描述 我感觉magic method 是python的进阶主题之一 有时候遇到, 感觉自己能看懂, 但是实际上不清楚其执行流程 官网文档看了一遍, 感觉不过瘾, 是否有更好的资料呢? 目的是什么 1. 对magic method做深入了解 2. 起码自己能用上 上下文环境 产品版本: Python2.7.x 操作系统: Linux magic method: 类似__getattr__这一类的, python里面很多, 各有不同作用 尝试解决 what is python magic method? python magic method advanced
查看完整描述

4 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

我不建议一次性地了解所有 dunder names。

因为 Python 的 dunder names 用在无数的地方:语言级别的,库级别的,通用的,特定模块/类使用的,类级别的,模块级别的。太繁多了!我建议你按类别去了解,见一个懂一类。比如运算符重载的,装作 list / dict 添加行为的,descriptor,模块导入相关的,类创建、管理和自身属性,迭代和异步迭代,上下文管理,等等。

主要看你手头的代码和官方文档,不懂的地方再 Google 一下,基本上就没问题了。还有疑惑不解的地方,可以去翻翻源码。Python 的源码组织得很好的。

查看完整回答
反对 回复 2019-03-04
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

我觉得没有必要去刻意的了解python的魔法方法,想要pyhon进阶的话,可以读读python源码,一些常见的模块等,在读的过程中,肯定会经常见到对python魔法方法的使用,看看源码是如何使用的。思考作者为什么这么用,也许会更加有心得。不明白的话再去搜索引擎查查就行了。一家之言,仅供参考。

查看完整回答
反对 回复 2019-03-04
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

如果想要对Python的魔术方法先有个粗略的认识,可以看rafekettler的这篇英文版博客

对于这篇英文博客,我看了几遍,也尝试了自己用中文来再讲一遍,写在了我的博客上。就当做我的一个广告吧,但我是真心觉得我再加工的还蛮不错的.

当然,即使看了上面的文章,也只能让你知道这些魔术方法能够做什么。实践中还是需要多看优秀的源码,学习别人是怎么巧妙运用的。就跟你的Python代码会越写越来Pythonic一样,魔术方法用着用着就会觉得很自然。

查看完整回答
反对 回复 2019-03-04
?
莫回无

TA贡献1865条经验 获得超7个赞

查看完整回答
反对 回复 2019-03-04
  • 4 回答
  • 0 关注
  • 596 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信