[英]Access class which object is being called from within method belonging to object
我想知道Python中是否有一種方法可以訪問從中調用該方法所屬的對象的類。 例如:
class A:
def __init__(self):
self.b = B()
def foo(self):
print('A')
class B:
def bar(self):
<something here>.foo()
a = A()
a.b.bar()
基本上,我希望B的方法欄調用A的方法foo。 如果b是其他某些類C的屬性,則改為調用C的foo版本。
您可以添加對實例化B的類的引用:
class A:
def __init__(self):
# pass self while instantiating B
self.b = B(self)
def foo(self):
print('A')
class B:
def __init__(self, rel_obj):
self.rel_obj = rel_obj
def bar(self):
self.rel_obj.foo() # access foo() using self.rel_obj
同樣,您可以傳遞C類的對象來調用C版本的foo
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.