编辑
2025-04-13
python
0

目录

一、面向对象基础
1. 类与对象
2. 成员方法
3. 构造方法
二、面向对象三大特性
1. 封装
2. 继承
3. 多态
三、高级特性
1. 魔术方法
2. 类型注解
四、综合应用模式
数据处理案例设计
五、关键总结

Python面向对象

Python第十课,本文将讲述Python面向对象

一、面向对象基础

1. 类与对象

  • :程序中的"设计图纸",用于描述事物的属性和行为
  • 对象:基于类创建的实体,包含具体数据和行为
  • 关系:类是模板,对象是实例(如:学生类 vs 张三学生对象)
python
class Student: # 属性(成员变量) name = None age = None # 行为(成员方法) def study(self): print(f"{self.name}正在学习") # 创建对象 stu = Student() stu.name = "张三" stu.study()

2. 成员方法

  • 定义:类中定义的函数称为方法
  • self:必须作为第一个参数,表示对象自身
  • 调用:通过对象调用时自动传递self参数
python
def introduce(self): print(f"我叫{self.name},今年{self.age}岁")

3. 构造方法

  • 作用:对象创建时自动执行初始化
  • 语法__init__
  • 特性:可接收参数初始化成员变量
python
def __init__(self, name, age): self.name = name self.age = age

二、面向对象三大特性

1. 封装

  • 核心:隐藏实现细节,暴露安全接口
  • 私有成员__开头的变量/方法(实际是名称改写)
  • 访问控制
    • 公有成员:可被外部访问
    • 私有成员:仅类内部访问
python
class Phone: __voltage = 3.7 # 私有变量 def __check_5g(self): # 私有方法 if self.__voltage > 3: return True def call(self): # 公有方法 if self.__check_5g(): print("5G通话已开启")

2. 继承

  • 单继承class 子类(父类)
  • 多继承class 子类(父类1, 父类2)
  • 方法重写:子类定义同名方法覆盖父类实现
  • super():调用父类方法
python
class AndroidPhone(Phone): def __init__(self, brand): super().__init__() # 调用父类构造 self.brand = brand def call(self): # 方法重写 print(f"{self.brand}定制化通话界面") super().call()

3. 多态

  • 核心:相同接口不同实现
  • 实现方式
    • 继承:子类重写父类方法
    • 抽象类:定义方法规范
python
from abc import ABC, abstractmethod class Animal(ABC): @abstractmethod def sound(self): pass class Dog(Animal): def sound(self): return "汪汪" class Cat(Animal): def sound(self): return "喵喵"

三、高级特性

1. 魔术方法

  • __str__:定义对象字符串表示
  • __eq__:定义相等比较逻辑
  • __lt__:定义大小比较逻辑
python
class Product: def __init__(self, price): self.price = price def __str__(self): return f"产品价格:{self.price}" def __lt__(self, other): return self.price < other.price

2. 类型注解

  • 变量注解var: type
  • 函数注解:参数和返回值类型提示
  • Union类型:联合类型注解
python
from typing import Union def process(data: Union[int, str]) -> list: return [data] * 3

四、综合应用模式

数据处理案例设计

  1. 数据封装:创建数据类统一存储格式
  2. 读取器类:抽象基类定义接口
  3. 多态处理:不同文件格式子类实现
  4. 计算分析:独立业务类处理数据
  5. 可视化:使用PyEcharts进行展示
python
# 数据基类 class BaseData: def __init__(self, date, amount): self.date = date self.amount = amount # 文件读取器(抽象类) class FileReader: def read(self, path) -> list[BaseData]: raise NotImplementedError # CSV实现 class CSVReader(FileReader): def read(self, path): # 解析CSV返回BaseData列表 pass # 业务处理 class DataAnalyzer: def __init__(self, reader: FileReader): self.reader = reader def daily_summary(self, path): data = self.reader.read(path) # 计算逻辑...

五、关键总结

  1. 类设计三要素:属性、方法、构造
  2. 封装核心:私有成员保护数据安全
  3. 继承要点:代码复用与扩展
  4. 多态本质:接口统一,实现不同
  5. 类型注解:提升代码可读性
  6. 设计模式:高内聚低耦合,面向接口编程
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dageling003

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!