簡體   English   中英

訪問類,該類從屬於對象的方法中調用該對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM