Python 内部类

Python 内部类

在Python中,定义在另一个类内部的类称为内部类。有时内部类也被称为嵌套类。如果实例化内部类,内部类的对象也可以被父类使用。内部类的对象成为外部类的属性之一。内部类会自动继承外部类的属性,而不需要正式建立继承关系。

语法

class outer:
   def __init__(self):
      pass
   class inner:
      def __init__(self):
         pass

内部类允许您对类进行分组。嵌套类的一个优点是可以很容易地理解哪些类相关联。内部类具有局部作用域。它作为外部类的一个属性之一。

示例

在以下代码中,我们将student作为外部类,subjects作为内部类。student的__init__()构造函数初始化name属性和subjects类的一个实例。另一方面,内部subjects类的构造函数初始化了两个实例变量sub1和sub2。

外部类的show()方法调用已实例化的对象的内部类方法。

class student:
   def __init__(self):
      self.name = "Ashish"
      self.subs = self.subjects()
      return
   def show(self):
      print ("Name:", self.name)
      self.subs.display()
   class subjects:
      def __init__(self):
         self.sub1 = "Phy"
         self.sub2 = "Che"
         return
      def display(self):
         print ("Subjects:",self.sub1, self.sub2)

s1 = student()
s1.show()

当您执行此代码时,它将产生以下输出:

输出

Name: Ashish
Subjects: Phy Che

完全有可能独立地声明一个外部类的对象,并使其调用自己的display()方法。

sub = student().subjects().display()

它将列出科目。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程