2012-10-20 112 views

回答

4

是的,你只需在裏面粘貼def。你甚至可以在函數和方法中嵌套整個類:

class Foo(object): 
    def method(self, bar): 
     def inner(magic): 
      class Madness(object): 
       def __init__(inself, foo): inself.foo = foo 
      return Madness(magic) 
     return inner(bar) 
+0

這不適合我。當我做到這一點時,我得到了一個「賦值前引用的」局部變量「方法」錯誤。 –

+0

這是一個很好的習慣,可以在內部類中調用其他的自我,例如這或我,所以它不會與外部類的自我衝突。 – thebjorn

+0

@thebjorn:很好的電話。 @RahulSharma:爲我工作(嘗試'Foo()。method(3)') – nneonneo

相關問題