首頁  >  問答  >  主體

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

2016/12/19

描述

我感觉magic method 是python的进阶主题之一

有时候遇到, 感觉自己能看懂, 但是实际上不清楚其执行流程

官网文档看了一遍, 感觉不过瘾, 是否有更好的资料呢?

1. 对magic method做深入了解
2. 起码自己能用上

上下文环境

尝试解决

高洛峰高洛峰2765 天前828

全部回覆(4)我來回復

  • PHPz

    PHPz2017-04-18 10:08:32

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

    因為 Python 的 dunder names 用在無數的地方:語言層級的,函式庫層級的,通用的,特定模組/類別使用的,類別層級的,模組層級的。太繁多了!我建議你按類別去了解,見一個懂一類。例如運算子重載的,裝作 list / dict 添加行為的,descriptor,模組導入相關的,類別創建、管理和自身屬性,迭代和非同步迭代,上下文管理,等等。

    主要看你手邊的程式碼和官方文檔,不懂的地方再 Google 一下,基本上就沒問題了。還有疑惑不解的地方,可以去翻翻源碼。 Python 的原始碼組織得很好的。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:08:32

    我覺得沒有必要去刻意的了解python的魔法方法,想要pyhon進階的話,可以讀讀python源碼,一些常見的模組等,在讀的過程中,肯定會經常見到對python魔法方法的使用,看看原始碼是如何使用的。思考作者為什麼這麼用,也許會更有心得。不懂的話再去搜尋引擎查查就行了。一家之言,僅供參考。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:08:32

    如果想要對Python的魔術方法先有個粗略的認識,可以看rafekettler的這篇英文版博客

    對於這篇英文博客,我看了幾遍,也嘗試了自己用中文來再講一遍,寫在了我的博客上。就當做我的一個廣告吧,但我是真心覺得我再加工的還蠻不錯的.

    當然,即使看了上面的文章,也只能讓你知道這些魔術方法能夠做什麼。實務上還是需要多看優秀的源碼,學習別人是怎麼巧妙運用的。就跟你的Python程式碼會越寫越來Pythonic一樣,魔術方法用著用就會覺得很自然。

    回覆
    0
  • 迷茫

    迷茫2017-04-18 10:08:32

    Python 魔法方法指南

    回覆
    0
  • 取消回覆