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