Python学习——第二阶段:面向对象

01 初识对象

  • 类比关于类、对象、对象赋值的关系:

02 成员方法

  • 基本语法:

    复制代码
    class 类名称:
        类的属性
        类的行为
  1. class是关键字,表示要定义类了
  2. 类的属性,即定义在类中的变量(成员变量
  3. 类的行为,即定义在类中的函数(成员方法)

成员方法的定义语法:

复制代码
def 方法名(self,形参1,.....,形参N):
    方法体
  • self关键字self关键字是成员方法定义的时候,必须填写的
  1. 它用来表示类对象自身的意思

  2. 当我们使用类对象调用方法的是,self会自动被python传入

  3. 在方法内部,想要访问类的成员变量,必须使用self


总结:

03 构造方法

  • init()方法,称为构造方法可以实现:【init前后都有两个下划线】
  1. 在创建类对象(构造类)的时候,会自动执行
  2. 在创建类对象(构造类)的时候,将传入参数自动传递给 init 方法使用。

总结:

04 魔术方法

  • __str__字符串方法【控制将类转为字符串的行为】:

__lt__小于符号比较方法:
*


__le__小于等于比较符号【lt只能比较小于和大于,不能比较小于等于和大于等于】:
*


__eq__比较运算实现方法:
*


总结:

05 封装

  • 私有成员(变量、方法):
  1. 私有成员变量: 变量名为__开头(2个下划线
  2. 私有成员方法: 方法名为__开头(2个下划线
  • 私有的变量和方法只能在类的内部进行调用,在外部即类对象处无法直接使用

总结:

06 继承

  • 基础语法【单继承】:

    python 复制代码
    class 类名(父类名):
        类内容体

基础语法【多继承】:

python 复制代码
class 类名(父类1,父类2,.....,父类N):
    类内容体
  • 注意:多个父类中,如果有同名的成员 ,那么默认以继承顺序(从左到右)为优先级。即:先继承的保留,后继承的被覆盖


总结:

07 复写父类成员和调用父类成员

  • 复写: 子类继承类的成员属性和成员方法后,如果对其"不满意",那么可以进行复写。即:在子类中重新定义同名的属性或方法
python 复制代码
class Phone:
    IMEI=None            #序列号
    producer = "ITCAST"    #厂商

    def ca11_by_5g(self)
         print(父类的5g通话")

class MyPhone(Phone):
    proucer ="ITHEIMA"            #复写父类属性
    
    def call_by_5g(self):         #复写父类方法
        print(子类的5g通话")

  • 调用父类同名成员: 一旦复写父类成员,那么类对象调用成员的时候,就会调用复写后的新成员如果需要使用被复写的父类的成员,需要特殊的调用方式
  • 方式1:直接调用父类成员
  1. 使用成员变量:父类名
  2. 使用成员方法:父类名.成员方法(self)
  • 方式2:使用super()调用父类成员
  1. 使用成员变量:supe().成员变量
  2. 使用成员方法:super.成员方法()

总结:

08 变量的类型注解


  • 对变量设置类型注解:
python 复制代码
基础语法:变量:类型


  • 除了使用变量:类型,这种语法做注解外,也可以在注释中进行类型注解

注意:
*


总结:

09 对函数和方法、Union联合类型注解

  • 对形参进行类型注解:
  • 对返回值进行类型注解:
  • Union联合类型注解【注意先导包】:

10 多态

相关推荐
●VON8 分钟前
React Native for OpenHarmony:ScrollView 事件流、布局行为与性能优化深度剖析
学习·react native·react.js·性能优化·openharmony
大雷神1 小时前
HarmonyOS智慧农业管理应用开发教程--高高种地--第25篇:学习中心 - 课程详情与学习
学习·华为·harmonyos
好奇龙猫1 小时前
【大学院-筆記試験練習:线性代数和数据结构(21)】
学习
许泽宇的技术分享1 小时前
Claude Code 完整学习计划
学习
EmbedLinX1 小时前
FreeRTOS 学习笔记
c语言·笔记·学习
我的xiaodoujiao2 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 45--生成项目需要的requirements.txt依赖文件
python·学习·测试工具·pytest
AI视觉网奇2 小时前
ue 模拟说话
笔记·学习·ue5
好奇龙猫2 小时前
【人工智能学习-AI入试相关题目练习-第十五次】
人工智能·学习
晚霞的不甘2 小时前
Flutter for OpenHarmony全面升级「今日运势」 应用的视觉与交互革新
前端·学习·flutter·前端框架·交互
EverydayJoy^v^2 小时前
RH134学习进程——十一.管理网络安全
学习·安全·web安全