Я стою здесь на месте, пытаясь выяснить, как классы-члены получают доступ к данным своих родителей, когда они являются частью внешнего модуля.
По сути, это работает (класс B может обращаться к родительским методам, например так: A.say_hi (A)):
class A:
def __init__(self):
print("Initializing parent object...")
self.child = self.B()
class B:
def __init__(self):
print("Initializing child...")
A.say_hi(A)
def say_hi(self):
print("A class says hi")
Однако, это может стать довольно грязным, если классы станут очень большими, поэтому я поместил свои дополнительные классы в файлы и импортировал их в строку. Проблема в том, что я больше не могу получить класс-член для доступа к членам и функциям своего родителя, если я пытаюсь использовать «import B.py», когда класс B определен внутри.
Есть ли способ получить исходное поведение, не оставляя класс-член в том же файле, что и родительский?