类的成员方法

  1. 类是由哪两部分组成呢
  • 类的属性,称之为:成员变量
  • 类的行为,称之为:成员方法
    注意:函数是写在类外的,定义在类内部,我们都称之为方法哦
  1. 类和成员方法的定义语法
    1
    2
    3
    4
    5
    6
    7
    c1ass 类名称:
    成员变量

    def 成员方法(se1f,参数列表):
    成员方法体

    对象 = 类名称()
  2. self的作用
  • 表示类对象本身的意思
  • 只有通过self,成员方法才能访问类的成员变量
  • self出现在形参列表中,但是不占用参数位置,无需理会

构造方法&魔术方法

  1. 构造方法的名称是:
    __init__注意init前后的2个下划线符号
  2. 构造方法的作用:
  • 构建类对象的时候会自动运行
  • 构建类对象的传参会传递给构造方法,借此特性可以给成员变量赋值
  1. 注意事项:
  • 构造方法不要忘记self关键字
  • 在方法内使用成员变量需要使用self

  1. __init__:构造方法,可用于创建类对象的时候设置初始化行为
  2. __str__:用于实现类对象转字符串的行为
  3. __lt__:用于2个类对象进行小于或大于比较
  4. __le__:用于2个类对象进行小于等于或大于等于比较
  5. __eq__:用于2个类对象进行相等比较

封装

  1. 封装的概念是指
    将现实世界事物在类中描述为属性和方法,即为封装。
  2. 什么是私有成员、为什么需要私有成员
    现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描属性和方法的时候也需要达到这个要求,就需要定义私有成员了
  3. 如何定义私有成员
    成员变量和成员方法的命名均以__作为开头即可
  4. 私有成员的访问限制
  • 类对象无法访问私有成员
  • 类中的其它成员可以访问私有成员

继承

  1. 什么是继承
    继承就是一个类,继承另外一个类的成员变量和成员方法
    语法:
    1
    2
    c1ass 类(父类[,父类2,,....,父类N]):
    类内容体
    子类构建的类对象,可以
  • 有自己的成员变量和成员方法
  • 使用父类的成员变量和成员方法
  1. 单继承和多继承
  • 单继承:一个类继承另一个类
  • 多继承:一个类继承多个类,按照顺序从左向右依次继承
  • 多继承中,如果父类有同名方法或属性,先继承的优先级高于后继承
  1. pass关键字的作用是什么
    pass是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思

  2. 复写表示:
    对父类的成员属性或成员方法进行重新定义

  3. 复写的语法:
    在子类中重新实现同名成员方法或成员属性即可

  4. 在子类中,如何调用父类成员

  • 方式1:调用父类成员
    • 使用成员变量:父类名.成员变量
    • 使用成员方法:父类名.成员方法(self)
  • 方式2:使用super()调用父类成员
    • 使用成员变量:super().成员变量
    • 使用成员方法:super().成员方法
  • 注意:只可以在子类内部调用父类的同名成员,子类的实体类对象调用默认是调用子类复写的

类型注解

变量的类型注解

  1. 变量:类型语法
  2. 在注释中,#type:类型

函数和方法类型注解

1
2
def 函数方法名(形参:类型,.,..·.,形参:类型)->返回值类型:
pass

Union联合类型注解

  1. 导包:from typing import Union
  2. 使用:Union[类型,……,类型]

多态