![](/img/trans.png)
[英]How to get the name of the instance of the parent class from the derived class in Python?
[英]Get name of parent class in Python
我正在嘗試在基類 class 中創建一個方法,該方法允許所有子類訪問它們繼承的直接父類 class 的名稱。 下面的代碼不起作用,但我怎么能實現類似的東西呢?
class A:
def get_parent_name(self):
return super().__name__
class B(A):
pass
class C(B):
pass
C.get_parent_name()
# Expected output: 'B'
如果這不是一個措辭良好的問題,我提前道歉。 這是我第一次在 Stack Overflow 上發帖,所以任何改進我的問題的建議也將不勝感激
您可以使用C.__mro__
或C.mro()
。
這是基於您的三個課程的完整示例:
class A:
def __init__(self):
pass
def parent(self):
return self.__class__.__bases__[0]
class B(A):
def __init__(self):
super(B, self).__init__()
class C(B):
def __init__(self):
super(C, self).__init__()
print(A().parent())
print(B().parent())
print(C().parent())
Output:
<class 'object'>
<class '__main__.A'>
<class '__main__.B'>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.