一个内部类或者嵌套类是在一个类的主体内定义的另一个类,一个例子说明如下:
#!/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()
通过使用内部类可以使你的代码,面向更多的对象。一个对象可以包含多个子对象。我们可以用它们来添加更多的结构到程序中。