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
すべてのダンダーの名前を一度に覚えることはお勧めしません。
Python のダンダー名は、言語レベル、ライブラリ レベル、一般、特定のモジュール/クラスで使用される、クラス レベル、モジュール レベルなど、数え切れないほどの場所で使用されているためです。多すぎる!カテゴリ別に学習し、各カテゴリに遭遇したときにそれぞれを理解することをお勧めします。たとえば、演算子のオーバーロード、リスト/辞書を装った動作の追加、記述子、モジュールのインポート関連、クラスの作成、管理とその独自の属性、反復と非同期反復、コンテキスト管理などです。
それは主に、手元にあるコードと公式ドキュメントに依存します。わからない場合は、Google で調べれば基本的には大丈夫です。まだ質問がある場合は、ソース コードを確認できます。 Python のソースコードは非常によく整理されています。
Python の魔法のメソッドを意図的に理解する必要はないと思います。Python をさらに進めたい場合は、Python のソース コードやいくつかの一般的なモジュールなどを読むことができます。 Python のマジックメソッドの知識をよく目にするので、ソースコードがどのように使用されているかを確認するのに使用してください。著者がなぜこのように使っているのかを考えると、より深い洞察が得られるかもしれません。わからない場合は検索エンジンで調べてください。一家族の意見ですので、参考までに。
Python の魔法のメソッドを大まかに理解したい場合は、rafekettler による英語版のブログを読むことができます
この英語のブログを何度も読み、中国語でも言い直してブログに書きました。私の宣伝だと思ってください。私の再加工はかなり良いと思います
。もちろん、上記の記事を読んでも、これらの魔法の方法で何ができるかを知ることはできます。実際には、さらに優れたソース コードを読み、他の人がそれをどのように巧みに使用するかを学ぶ必要があります。 Python コードが作成するにつれてどんどん Python っぽくなるのと同じように、マジック メソッドも使用するにつれて自然に感じられるようになります。
Python のマジック メソッドのガイド