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

相关推荐
晴空对晚照4 小时前
[动手学习深度学习]26. 网络中的网络 NiN
网络·深度学习·学习
gzgenius5 小时前
独立部署DeepSeek 大语言模型(如 DeepSeek Coder、DeepSeek LLM)可以采用什么框架?
人工智能·学习·架构·deepseek
charlie1145141919 小时前
单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
stm32·单片机·嵌入式硬件·学习·教程
努力往上爬de蜗牛9 小时前
react学习1.搭建react环境
javascript·学习·react.js
sealaugh329 小时前
aws(学习笔记第三十三课) 深入使用cdk 练习aws athena
笔记·学习·aws
Liii40310 小时前
Java学习——数据库查询操作
java·数据库·学习
TO_WebNow11 小时前
Python学习- 数据结构类型
开发语言·python·学习
怪我冷i11 小时前
LogicFlow介绍
人工智能·学习·大模型
Suckerbin11 小时前
PHP前置知识-HTML学习
前端·学习·html