python对象的 init 和 del 方法
对象的初始化方法__init__
当使用类名()创建对象时,会自动执行以下操作:
- 为对象在内存中分配空间 ,即创建对象
- 为对象的属性设置初始值,即初始化方法(
__init__
)
【定义属性】
__init__
是对象的内置方法,专门用来定义一个类具有哪些属性的方法- 在
__init__
方法内部使用 self.属性名=属性初始值,就可以定义属性 - 定义属性之后,再使用类创建的对象都会拥有该属性
【改造初始化方法】
初始化的同时设置初始值
- 把希望设置的属性值,定义成
__init__
方法的参数 - 在方法内部使用 self.属性=形参 接收外部传递的参数
- 在创建对象时,使用 类名(属性1, 属性2, …) 调用
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class Cat:def __init__(self, new_color):print("这是初始化方法")# 定义用 Cat 类创建的猫对象都有的 name 属性# self.属性名 = “Tom”self.name = "Tom"# 改造初始值, 设置形参self.color = new_color# 使用类名创建对象时,自动分配空间,自动调用初始化方法__init__
tom = Cat("blue")
print(tom.color)
__del__
方法
当一个对象被从内存中销毁前,会自动调用 __del__
方法
【应用场景】
__init__
改造初始化方法可以让创建对象更加灵活__del__
如果希望在对象被销毁前,在做一些事情,可以考虑__del__
方法
【生命周期】
- 一个对象从调用 类名() 创建,生命周期开始
- 一个对象的
__del__
方法一旦被调用,生命周期结束 - 在对象的生命周期内,可以访问对象属性,或者让对象调用方法
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
class Cat:def __init__(self):self.name = "Tom"print(self.name)def __del__(self):print("wow,对象生命周期结束")tom = Cat()
print(tom.name)# 关键字 del 删除 tom 对象时,del会立即被执行
del tom# tom是全局变量,所有代码结束后才会释放
# 所以del会在所有代码执行完,再执行
print("-" * 20)
python对象的 init 和 del 方法相关推荐
- python对象序列化或持久化的方法
http://blog.csdn.net/chen_lovelotus/article/details/7233293 一.Python对象持久化方法 目前为止,据我所知,在python中对象持久化有 ...
- [转载] pickle:让python对象序列化
参考链接: pickle - Python对象序列化 一.dump()方法 pickle.dump(obj, file, [,protocol]) 注释:序列化对象,将对象obj保存到文件file中去 ...
- Python解码、编码Json的方法详解
python对象编码为json的方法: json.dumps(data) : 把python字典,转化为json字符串 json.dump(data) : 将python字典写入json文件 demj ...
- Python基础day08【面向对象(类、对象、属性)、魔方方法(init、str、del、repr)】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] 目录 0.复习 1.类外部添加和获取对象属性 2.类内部操作属性 3.魔法方法 3.1.__i ...
- python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...
Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...
- python特殊变量方法 不懂_Python中的常见特殊方法—— del方法
__del__() 方法用于销毁Python对象--在任何Python对象将被系统回收的时候,系统都会自动调用这个方法.但是不要以为对一个变量执行del操作,该变量引用的对象就会被回收,当然不是,如果 ...
- python对象方法 反射
前言 类实例化得到的对象可以直接调用类中定义的函数,并且可以将对象本身作为第一个参数,那么类能不能也能像对象一样使用类体中的函数而不需要传递第一个参数呢?如果我们使用别人封装好的类,如何判断这个类或者 ...
- python的del方法_关于python:__ del__方法是什么,如何调用它?
我正在阅读代码. 在其中定义了__del__方法的类. 我发现此方法用于销毁类的实例. 但是,我找不到使用此方法的地方. 其主要原因是我不知道如何使用此方法,可能不是这样:obj1.del(). 因此 ...
- python输出宽度是什么意思_方法、格式字符串和指定的Python对象输出宽度,python,中,格式化,及...
count()方法:返回字符串对象包含了多少个参数指定的字符串 find方()法:在字符串中查找参数字符串,并返回该参数字符串在其中第一个出现的位置索引 split()方法:以参数字符串为分割符,将字 ...
最新文章
- 流程图虚线箭头的意思_Ai篇NO.3: 怎样画出不死板的箭头?
- python 字符串去重从小到大排列_python 序列(字符串、字符串、元组、集合、字典)...
- [Mvel]Mvel2.0使用指南一 基础
- Java面试题—内部类和静态内部类的区别
- .NET Core接入ElasticSearch 7.5
- 如何生成高性能的短链接?
- click() bind() live() delegate()区别
- 运用基础班知识做一个网页
- 2013国家二级c语言上机考试点了编译并运行出现黑框闪退,2013年计算机二级C语言上机试题及解析2...
- 8.Java web—JSP基本语法
- 图片随鼠标滚动而任意浮动
- c语言上机+pdf,c语言上机题库.pdf
- Flink实现异步IO实战
- 2021年1月北京限号轮换时间规定来了,怎么设置每天提醒限行?
- 实验四:大数据可视化工具—pyecharts
- Oracle数据库表空间数据文件最大容量以及存满时处理方法
- FBX SDK下载安装教程
- 五子棋、Emacs计算器
- MFC-CListCtrl重绘,添加按钮到单元格
- OpenStack ironic裸金属部署(裸金属作为独立服务)