2010-02-17 133 views
3

我們剛剛開始學習python中的類繼承和屬性查找。我有一個關於下面的代碼問題:Python中的繼承

class a : n = 1 
class b : n = 2 
class c : n = 3 
class d (a,b) : pass 
class e (d,c) : pass 

我知道E.N就等於1,由於屬性查找程序的性質(深度優先搜索)。但是,我將如何訪問類e中的c類n?我試過e.c.n,但是這給了我一個錯誤。有人能告訴我我做錯了什麼嗎?提前致謝!

回答

1
>>> e.__bases__[1].n 
3 
+0

謝謝,工作就像一個魅力! – Mel

1

你不能從這裏到達那裏。類屬性被替換。直接使用類別參考(c.n)。