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 多态

相关推荐
厚学9 分钟前
JetLinks物联网学习(前后端项目启动)
学习
图学习的小张13 分钟前
论文笔记:交替单模态适应的多模态表征学习
论文阅读·学习
快下雨了L42 分钟前
UE5学习笔记22-武器瞄准和武器自动开火
笔记·学习·ue5
圆头圆脑圆JAVA1 小时前
Doker学习笔记--黑马
笔记·学习
脚步的影子1 小时前
2024最新版MySQL详细学习教程
数据库·学习·mysql
马龙强_1 小时前
影刀RPE学习——自动化
学习·自动化
蜡笔新小3 小时前
Stable diffusion 学习过程
人工智能·学习·stable diffusion
艾伦~耶格尔3 小时前
Java 正则表达式详解
java·开发语言·学习·正则表达式
栩日月3 小时前
Linux学习记录十四----------线程的创建和回收
linux·数据结构·学习
滴水成冰-3 小时前
Kotlin-Flow学习笔记
笔记·学习·kotlin