Python 内部类
一个内部类或 嵌套类是完全另一个类的主体内定义的类。如果使用类创建对象,则可以使用根类中的对象。一个类可以有多个内部类,但通常可以避免使用内部类。
内部类的例子
我们用一个类(Human
)创建一个内部类(Head
)。
创建一个调用内部类中的方法的实例:
#!/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()
通过使用内部类,你可以使代码更加面向对象。单个对象可以包含多个子对象。我们可以使用它们为我们的程序添加更多结构。