-4
class A:
x = 'variable'
class B:
#how to access variable X from class A
我剛開始學習OOP並試圖弄清楚如何在實踐中使用它。如何從主類中的子類獲取變量?
class A:
x = 'variable'
class B:
#how to access variable X from class A
我剛開始學習OOP並試圖弄清楚如何在實踐中使用它。如何從主類中的子類獲取變量?
簡短回答:這是不可能的(或者如果是的話,這並不容易),因爲只要class A:
開始的區塊尚未完成,您將無法訪問A
。
但是你可以將它定義爲財產:
class A:
x = 'variable'
class B:
@property
def x(self):
return A.x
被稱爲所以class A
定義後調用發生時,他們正在執行中的方法和屬性的代碼。所以,你可以用它:
>>> A.B().x
'variable'
不過我,如果你「剛開始學習面向對象」強烈建議您不使用嵌套類。嘗試着重於一些真正的OOP主題,如inheritance。
你爲什麼要在另一個類中定義一個類? – glibdud
我不能這樣做嗎? – EDJOE
我想這是可能的,但我想不出爲什麼你會這樣做。如果你想學習繼承,這不是如何完成的。 – glibdud