1. ホーム
  2. python

[解決済み] 内部クラスから外部クラスへアクセスする方法は?

2022-04-29 10:45:47

質問

こんな状況なんですが...。

class Outer(object):

    def some_method(self):
        # do something

    class Inner(object):
        def __init__(self):
            self.Outer.some_method()    # <-- this is the line in question

にアクセスするにはどうすればよいのでしょうか? Outer クラスのメソッドを Inner クラスですか?

解決方法は?

ネストされたクラスのメソッドは、外側のクラスのインスタンス属性に直接アクセスできません。

なお、内部クラスのインスタンスを生成しても、外部クラスのインスタンスが存在するとは限りません。

実際、入れ子になったクラスは、内側と外側のクラスの間に特別な関係を意味しないので、しばしば使用しないことが推奨されます。