一個內部類或者嵌套類是在一個類的主體內定義的另一個類,一個例子說明如下:
#!/usr/bin/env python class Human: def __init__(self): self.name = 'Guido' self.head = self.Head() class Head: def talk(self): return 'talking...' if __name__ == '__main__': guido = Human() print guido.name print guido.head.talk()
輸出結果:
Guido talking...
在以上程序中,我們有一個內部類:Head(),它有它自己的方法。 一個內部類可以有兩種方法和變量。在這個例子中,類:Human (__init__) 的構造函數創建一個新的 head 對象。 內部類的數量不受限,例如以下的代碼也可以工作:
#!/usr/bin/env python class Human: def __init__(self): self.name = 'Guido' self.head = self.Head() self.brain = self.Brain() class Head: def talk(self): return 'talking...' class Brain: def think(self): return 'thinking...' if __name__ == '__main__': guido = Human() print guido.name print guido.head.talk() print guido.brain.think()
通過使用內部類可以使你的代碼,麵向更多的對象。一個對象可以包含多個子對象。我們可以用它們來添加更多的結構到程序中。