1

私はディルパッケージを試しています。具体的には検出モジュールであり、リファレント、リファラー、親、子の意味を直感的に理解するのに苦労しています。

参照は、一部のデータへのアクセスを可能にする値です。

そして参照対象は参照されるオブジェクトですよね?

したがって、次のコードでは:

class MyClass:
    """A simple example class"""
    i = 12345
    def f(self):
        return 'hello world'

an_instance = MyClass()
an_instance2 = MyClass()
an_instance3 = MyClass()

a_list = [an_instance, an_instance2, an_instance3]

an_instance, an_instance2, an_instance3の指示対象は でa_listあり、MyClassも の指示対象になりますがa_list、チェーンの 1 レベル上の深さですか?

したがって、参照->を意味すると、参照対象のチェーンは次のようになります。

a_list -> an_instance -> MyClass

これは次のように見られますか?

grandchild -> child -> Parent

逆にa_list、リファラーは別のレベルの深さan_instanceですか?an_instance2, an_instance3MyClass

リファラーのチェーンを作成する:

MyClass -> an_instance -> a_list

そして、これも考えられるでしょうか:

parent -> child -> grandchild

参照、継承、およびコンテナーが一致する場所と一致しない場所について、誰かが明確な説明を提供できますか?

4

1 に答える 1

2

Python では、継承によって、クラス オブジェクトとクラス インスタンス オブジェクトの間にポインター関係が構築されます。たとえば、クラス インスタンスは最初にそれ自体をチェックし、__dict__次にそのクラス定義をポイントして、欠落している属性を見つけます。同様に、インスタンス メソッドは、クラス メソッドに適用されるパーシャルと見なすことができ、ここでも基になるクラス メソッドへのポインター関係を提供します。Python では、継承は、オブジェクトが自身の中に何らかの属性を見つけられない場合に、(mro 内の) 親に戻って欠落している属性を探します。その階層はポインター関係を通じて構築されます。

それは、継承とポインター参照が同じ程度のことです。ポインター参照は、より一般的です。

于 2014-09-03T20:02:48.783 に答える