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

学习小心意——python的构造方法和析构方法

构造方法和析构方法分别用于初始化对象的属性释放类占有的资源

构造方法_init_()

语法格式如下:

class 类名:def __init__(self, 参数1, 参数2, ...):# 初始化代码self.属性1 = 参数1self.属性2 = 参数2# ...

示例代码如下

class Student:def __init__(self):self.name = "小明"self.age = 20def speak(self):print("我叫%s,今年%s岁。" % (self.name, self.age))s = Student()  # 创建一个Student类的实例对象s
s.speak()  # 调用s的speak方法

输出结果如下

关于构造方法的玩法有很多,这里只是简单引用一下

析构方法_del_()

语法格式如下

class 类名:def __init__(self, 参数1, 参数2, ...):# 初始化代码self.资源 = 初始化资源# ...def __del__(self):# 清理代码print("对象正在被销毁")# 释放资源,例如关闭文件、断开网络连接等

示例代码如下

class Student:def __init__(self, name, age, grade):self.name = nameself.age = agedef __del__(self):print("析构方法在运行")  # 修正了打印语句的错别字,并确保了正确的缩进# 创建Student对象
s1 = Student("Alice", 18, 3)
s2 = Student("Bob", 19, 4)# 删除Student对象,会触发__del__方法
del s1
del s2

输出结果如下

小小分享,到此一游。我是好运🎁💖🎁

相关文章:

  • Configure Google Chrome Settings with Group Policy
  • B端UI设计,演绎高情逸态之妙
  • 生物制药企业选择谷歌云的理由有哪些?
  • PCIe的链路状态
  • Linux 内核之 mmap 内存映射触发的缺页异常 Page Fault
  • HTTP 的三次握手
  • 【MATLAB高级编程】入门篇 | 向量化编程
  • 【并发程序设计】11.进程间通信
  • 如何利用CXL技术突破内存墙?-2
  • 打造你的专属Vue组件:超实用“Descriptions展示组件开发”实战
  • Python知识点20---池
  • C++ 宏定义中的##
  • 【JavaEE】Servlet
  • MFC:初步理解序列化与反序列化(含代码实现)
  • 【机器学习】之 K-最近邻(KNN)算法原理及实现
  • codis proxy处理流程
  • C语言笔记(第一章:C语言编程)
  • Docker: 容器互访的三种方式
  • ES6核心特性
  • HTML5新特性总结
  • JavaScript对象详解
  • learning koa2.x
  • Node 版本管理
  • Terraform入门 - 1. 安装Terraform
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Vultr 教程目录
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 工程优化暨babel升级小记
  • 使用agvtool更改app version/build
  • 详解NodeJs流之一
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 以太坊客户端Geth命令参数详解
  • 白色的风信子
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • Hibernate主键生成策略及选择
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • ###STL(标准模板库)
  • #Linux(权限管理)
  • $GOPATH/go.mod exists but should not goland
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)Linux——Linux常用指令
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (简单) HDU 2612 Find a way,BFS。
  • (学习日记)2024.01.09
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (自用)gtest单元测试
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net 中viewstate的原理和使用
  • .Net多线程Threading相关详解