当前位置:人工智能 > Python 中的内部类

Python 中的内部类

  • 发布:2023-09-30 09:24

Python 是一种面向对象的编程语言。 Python 中的一切都与对象、方法和属性相关。类是用户定义的蓝图或原型,我们可以使用它来创建该类的对象。类是使用 class 关键字定义的。

类别示例——

#创建一个Geeksforgeeks类
Geeksforgeeks 类:
GFG = 10

首先我们需要了解__init__()内置方法来理解类的含义。每当一个类启动时,总​​会执行一个名为 __init__() 的方法。 __init__()方法用于给对象属性赋值或者执行创建对象时需要完成的其他方法。

具有 __init__() 方法的类示例 –

#创建一个Geeksforgeeks类
Geeksforgeeks 类:
​
# 构造方法
def __init__(自身):
​
# 对象属性
self.course =“校园准备”
self.duration = "2 个月"
​
#定义一个显示方法
# 用于打印内容
def 显示(自我):
print("课程:", self.course)
print("持续时间:", self.duration)
​
# 创建 Geeksforgeeks
# 类对象
外部 = Geeksforgeeks()
​
# 方法调用
外部.show()

输出:

课程:校园准备持续时间:根据您的日程安排 

Python 中的内部类

在另一个类中定义的类称为 内部类 或嵌套类。如果使用子类创建对象意味着内部类,则该对象也可以被父类或根类使用。一个父类可以有一个或多个内部类,但一般会避免使用内部类。

通过使用内部类,我们可以使我们的代码更加面向对象。类的单个对象可以包含多个子对象。我们可以使用多个子对象来为我们的程序提供良好的结构。

示例 -

首先我们创建一个类,然后创建该类的构造函数。

创建一个类后,我们将在该类中创建另一个类,另一个类中的类称为内部类。

#创建一个Color类
类别颜色:
​​
# 构造方法
def __init__(自身):
​ # 对象属性
​​www.sychzs.cn = '绿色'
self.lg = self.Lightgreen()
​​
def 显示(自我):
Print("姓名:", www.sychzs.cn)
​​
# 创建浅绿色类
浅绿色类:
定义 __init__(self):
www.sychzs.cn = '浅绿色'
self.code = '024avc'
​​
默认显示(自身):
Print("姓名:", www.sychzs.cn)
Print("代码:", self.code)
​
# 创建颜色类对象
外部 = 颜色()
​
# 方法调用
外部.show()
​
# 创建一个浅绿色
# 内部类对象
g = 外层.lg
​
# 内部类方法调用
g.display()

输出:

绿色
名称:绿色

浅绿色
023gfd

名称: 浅绿色
代码:023gfd

为什么是内部类?

用于对两个或多个类进行分组。假设我们有两类遥控器和电池。每个遥控器都需要电池,但如果没有电池,遥控器将无法工作。因此,我们将Battery设为Remote的内部类。它可以帮助我们节省代码。

借助内部类或嵌套类,我们可以向外界隐藏内部类。因此,代码隐藏是内部类的另一个很好的特性。

通过使用内部类,我们可以很容易地理解这些类,因为这些类是密切相关的。我们不需要在整个代码中搜索类,它们几乎都在一起。

虽然内部类或嵌套类在Python中使用并不广泛,但它是实现代码的一个更好的功能,因为当我们使用内部类或嵌套类时可以直接组织代码。

语法:

#创建NameOfOuterClass类
外部类的类名:

  # 外部类的构造方法
  def __init__(自身):

    self.NameOfVariable = 值

    # 创建内部类对象
    self.NameOfInnerClassObject = self.NameOfInnerClass()
 
  # 创建一个NameOfInnerClass类
  内部类的类名:
     # 内部类的构造方法
    def __init__(自身):
      self.NameOfVariable = 值

# 创建外部类对象
外部=外部类名称()

内部类类型——

  • 多个内部类
  • 多级内部类

多个内部类

包含一个或多个内部类的类称为多个内部类。我们在一个类中可以有多个内部类,并且很容易实现多个内部类。

多个内部类示例 –

#创建外部类
班级医生:
def __init__(自身):
www.sychzs.cn = '医生'
self.den = self.牙医()
www.sychzs.cn = self.心脏病专家()
​
def 显示(自我):
Print('在外部类中')
Print('姓名:', www.sychzs.cn)
​
# 创建第一个内部类
牙医类别:
def __init__(自身):
www.sychzs.cn = '博士。萨维塔
self.level = 'BDS'
def 显示(自身):
Print("姓名:", www.sychzs.cn)
print("学位:", self. Degree)
​
# 创建第二个内部类
心脏病专家级别:
def __init__(自身):
www.sychzs.cn = '博士。阿米特
self.level = 'DM'
默认显示(自身):
Print("姓名:", www.sychzs.cn)
print("学位:", self. Degree)
​
#创建一个对象
外部类#
外部 = 医生()
外部.show()
​
#创建一个对象
第一个内部类的#
d1 = 外层.den
​#创建一个对象
# 第二个内部类
d2 = 外部.car
打印()
d1.display()
打印()
d2.display()

输出:

外班
姓名: 医生

在内部类1中
姓名: 萨维塔博士
学位:BDS

在内部类2中
姓名:阿米特博士
程度:DM 

多级内部类

一个类包含内部类,而内部类又包含另一个内部类。这种层次结构称为多级内部类。

多级内部类示例 –

#创建外部类
Geeksforgeeks 类:
​​
def __init__(gfg):
# 创建一个内部类对象
self.inner = self.Inner()
​
def 显示(GFG):
Print('这是一个外部类')
​
# 创建第一个内部类
类内部:
​
def __init__(自身):
# 创建内部类对象的内部类
self.innerclassofinner = self.Innerclassofinner()
​​
def 显示(自我):
print('这是内部类')
​​
# 创建一个内部类inner
内部类:

def 显示(自我):
打印()

def 显示(自我):print('这是内部类的内部类')

# 创建外部类对象
# 即 Geeksforgeeks 类对象
外部 = Geeksforgeeks()
外部.show()
打印()

# 创建一个内部类对象
gfg1 = 外部.内部
www.sychzs.cn()
打印()

# 创建内部类对象的内部类
gfg2 = 外部.内部.内部类
www.sychzs.cn()

输出:


相关文章