簡體   English   中英

從子類(Python)訪問類屬性?

[英]Accessing an class attribute from subclass (Python)?

這是我的代碼格式:

class A(object):
    def __init__(self, x, other):
        self.other = other
        self.x = x
class B(A):
    def __init__(self):
        # place code here
    def something_else(self):
        return self.x["foo"]

x是我想調用的對象,稍后帶有下標(在something_else

我只想從父類繼承x 重要的是other沒有被繼承,所以super().__init__不適合。

我通過在class A創建一個函數來嘗試解決方法:

def x(self):
    return self.x

所以我可以在class B調用super().x() ,但這也不起作用。

我曾嘗試直接調用super.x["foo"] ,但這不起作用。

在我的情況下,我怎樣才能實現我想要的? 謝謝!

變量並不總是必須在__init__函數中注冊,如果你想要類A x ,在A有一個方法:

def set_x(self, x):
    self.x = x
    # other stuff

您仍然可以從B類調用set_x ,因為所有函數都是繼承的,從那里您可以實例化屬性x而無需從A調用__init__

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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