魔方方法
以两个下划线开头并且以两个下划线结束的方法
魔方方法的特点
- 他们都会有一些特殊的功能
- init方法:监听程序员使用该类进行实例对象的一个标志(当通过一个类实例一个对象的时候,会自动触发这个类中的init方法)
init魔法方法的使用场景
回想之前的类成员添加时,属性无法在类里面创建
可以在init方法中进行添加类的必要属性
注意
自定义类中没有声明__init__魔方方法,但是在新式类中默认使每个自定义类都继承了object类,因此所有的自定义类都具有__init__魔方方法
如果为了能够在完成自己想要的功能,可以自己定义__init__魔方方法
- 如果当需要一个对象在诞生的时候就拥有某个功能,那么可以在init方法中实现
- 如果一个类需要统一的属性的时候,可以在init方法中为每个对象实现这些属性
有参无参
- 无参的init方法用于:这个类实例的所有对象具有相同的属性值
- 有参的init方法用于:这个类实例的每个对象都必须要自己提供的属性值的时候
_str_()方法
作用
追踪对象的属性值的变化的
默认情况下创建的对象返回的是一些对象的说明及对象所在位置的16进制的一个地址
如果一个类里面实现了str方法,那么创建的对象返回的就是这个方法所返回的字符串
介绍
- str方法不能再添加任何参数
- str方法必须有一个返回值,返回值必须为字符串类型
_del_()方法
作用
监听对象被销毁的事情
创建对象后Python解释器默认会调用init魔法方法
当每个对象被删除的时候,Python解释器也会默认调用一个方法,就是del方法
调用
当这个对象的地址引用计数为0的时候才会被python给删除的,才会执行这个del方法
因此:如果一个数据或者对象在程序中没有任何引用的时候才会被系统释放
释放对象
语法:
del 对象名