Python Class

2529 ワード

1、attribute references属性参照
Now what can we do with instance objects? The only operations understood by instance objects are attribute references. There are two kinds of valid attribute names: data attributes and methods.
インスタンスオブジェクトについて何ができますか?インスタンスオブジェクトが理解できる操作は、プロパティの参照です.データ・プロパティとメソッドの2つの有効なプロパティがあります.
2、attribute reference -- method
The other kind of instance attribute reference is a method. A method is a function that “belongs to” an object.
別のインスタンスプロパティの参照は、関数ですが、オブジェクトに属します.
3、self
方法の最初のパラメータは、しばしばselfと命名される.selfという名前はPythonには決して特別な意味はありません.しかし、この約束に従わないと、他のPythonプログラマーにとってコードの読み取りが不足し、クラスブラウザプログラムの作成がこのような約束に依存する可能性があることに注意してください.
4、__init__()初期化関数/コンストラクション関数
The instantiation operation (“calling” a class object) creates an empty object. Many classes like to create objects with instances customized to a specific initial state. Therefore a class may define a special method named  __init__() , like this:
def __init__(self):
     self.data = []
When a class defines an  __init__()  method, class instantiation automatically invokes  __init__()  for the newly-created class instance. 
インスタンス化操作により、空のオブジェクトが作成されます.多くのクラスは、特定の初期状態を持つカスタムインスタンスを作成するのが好きです.このクラス定義には、__init__()という特殊な方法が含まれる場合があります.
def __init__(self):
     self.data = []
クラスが__init__()メソッドを定義すると、クラスのインスタンス化操作は、新しく作成されたクラスインスタンスの__init__() ,呼び出しを自動的に開始し、新しいインスタンスを初期化します.5、継承の定義
class DerivedClassName(BaseClassName):
class DerivedClassName(Base1, Base2, Base3):
6、super()
super()関数は、親(スーパークラス)を呼び出すための方法であり、The benefits of super() in single-inheritance are minimalは、主に多重継承問題を解決するために使用され、it lets you avoid referring to the base class explicitlyである.
class LoggingDict(dict):
    def __setitem__(self, key, value):
            logging.info('Setting %r to %r' % (key, value))
            super().__setitem__(key, value)
多重継承でメソッドを呼び出す場合、現在のクラスとベースクラスを検索してメソッドの場所を決定する必要があります.これはMRO(Method Resolution Order、メソッド解析順序)に関連します.
7、解析
Method references are resolved as follows: the corresponding class attribute is searched, descending down the chain of base classes if necessary, and the method reference is valid if this yields a function object.
8、重荷
Derived classes may override methods of their base classes. 
 
参照先:
https://docs.python.org/zh-cn/3/tutorial/classes.html