当前位置: 首页 > news >正文

五、面向对象

文章目录

  • 面向对象/过程
    • 面向对象
    • 面向过程
  • 类和对象
    • 对象
  • 代码设计
    • 定义类
    • 创建对象
      • 添加属性
      • 获取属性
    • 调用方法
      • 魔法方法
        • `__init__()` 构造方法
        • `__str__()`
        • `__del__()` 析构方法

面向对象/过程

面向对象

谁来做,注重结果

面向过程

怎么做,注重过程

类和对象

抽象概念,泛指具有相同或相似特征和行为的事物

  1. 类名:大驼峰命名法
  2. 属性:事物的特征
  3. 方法:事物的行为

对象

具体概念,特指某一个事物

代码设计

定义类

使用class关键字定义类,类中的函数即为方法

class namedef func(self):pass

self是普通形参,但调用时没有传递实参值。在执行代码时自动将调用这个方法的对象传递给self,因为self的本质是对象。如下图示例
在这里插入图片描述

创建对象

使用类名()创建对象,要通过变量名保存对象地址,变量=类名()

添加属性

类内部,self.属性名=属性值,在类中添加属性通常写在__int__()中
类外部,对象.属性名=属性值,一般不使用

获取属性

类内部,self.属性名
类外部,对象.属性名

调用方法

使用对象.方法名()调用方法

魔法方法

双前导双末尾下划线的方法,在满足条件时会自动调用,如__init__()

__init__() 构造方法

创建对象之后自动调用

  1. 给对象添加属性
  2. 创建对象必须执行的代码,用于初始化
  3. 如果有self以外的形参,要注意形参传递
__str__()

使用print(对象)打印对象时自动调用

  1. 关于对象的属性信息
  2. 若类中没有定义该方法,print(对象)是默认输出对象的内存地址
  3. 必须返回字符串
__del__() 析构方法

删除对象时自动调用

  1. 代码执行结束,所有对象都会被删除
  2. 使用del 对象可以删除对象,若一个对象存在多个引用,则需要删除所有引用才可彻底删除对象
class Person:def __init__(self,name,weight):self.name=nameself.weight=weightdef __str__(self):return f'{self.name}的体重是{self.weight}kg'def __del__(self):print('代码结束,删除对象')def run(self):self.weight=self.weight-0.5def eat(self):self.weight=self.weight+1a=Person('小明',75)
print(a)
a.run()
print(a)
a.eat()
print(a)

在这里插入图片描述


http://www.mrgr.cn/news/94963.html

相关文章:

  • 大模型知识蒸馏:技术演进与未来展望
  • Pydoll:告别WebDriver!Python异步Web自动化测试工具
  • Linux上的`i2c-tools`工具集的详细介绍;并利用它操作IMX6ULL的I2C控制器进而控制芯片AP3216C读取光照值和距离值
  • 使用Azure CDN进行子域名接管
  • 网络爬虫【爬虫库urllib】
  • 前端剪贴板操作:从传统方法到现代方案
  • 3D标定中的平面约束-平面方程的几何意义
  • OpenHarmony 开源鸿蒙北向开发——hdc工具安装
  • 自动驾驶背后的数学:特征提取中的线性变换与非线性激活
  • 搞定python之九----常用内置模块
  • 1~2 课程简介+ESP32-IDF环境搭建(虚拟机Linux环境下)
  • 【直播预告】“大模型加速器2.0”版本即将开箱!破解AI“幻觉”难题
  • Softmax 函数简介及其Python实现
  • SpringBoot实现发邮件功能+邮件内容带模版
  • vulhub-Billu-b0x攻略
  • Unity 接入抖音小游戏
  • JavaScript 复制功能实现:从基础到进阶
  • 【算法工程】vllm突然报错No platform detected, vLLM is running on UnspecifiedPlatform
  • 激光slam学习笔记10---ubuntu2004部署运行fastlivo2踩坑记录
  • vulhub-joker攻略