根據我的理解,函數super
應該允許嵌套在另一箇中的類訪問其父'self'。我可能是錯在這一點,但這裏是我想要實現一個簡單的例子:不要從Python的超級預期的結果
class Test:
def __init__(self):
self.message = "Hello World"
class Print:
def __init__(self):
print super(Test, self).message
this = Test()
this.Print()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home1/users/joe.borg/<ipython-input-3-3eb5db70be43> in <module>()
----> 1 this.Print()
/home1/users/joe.borg/<ipython-input-1-cee67a2914c3> in __init__(self)
4 class Print:
5 def __init__(self):
----> 6 print super(Test, self).message
7
TypeError: must be type, not classobj
爲什麼你認爲要嵌套類這樣呢? – geoffspear 2012-02-16 12:39:59
您對'super()'的理解完全錯誤,您可能需要從[官方文檔](http://docs.python.org/library/functions.html#super)開始。即使你使用'super()'也許會很棘手,這是一個覆蓋了互聯網的話題。 – 2012-02-16 12:40:23
對我來說,在嵌套類中有很多興趣。只是一個例子http://stackoverflow.com/questions/78799/is-there-a-benefit-to-defining-a-class-inside-another-class-in-python – jdborg 2012-02-16 15:10:25