1. 魔术方法
- 在python中方法名字类似__xxx__,某种情况下会自动执行的方法,称为魔法方法
1) 回顾
# 上节课接触的两个魔术方法
class ClassName(object):
"""初始化时触发"""
def __init__(self):
pass
"""打印时触发"""
def __str__(self):
pass
2) __del__()
方法
- 触发时机:对象被销毁的时候触发
- 作用:对象被销毁前处理相应的业务逻辑,比如回收内存资源
- 销毁对象的两种方式
-
文件运行结束
class Man: def __init__(self, name): self.name = name print('%s 活了' % self.name) def __del__(self): print('%s 死了' % self.name) wang = Man('老王') song = Man('老宋')
D:\python\python.exe D:/project/index.py 老王 活了 老王 死了 老宋 活了 老宋 死了 Process finished with exit code 0
-
应用
del
删除对象class Man: def __init__(self, name): self.name = name print('%s 活了' % self.name) def __del__(self): print('%s 死了' % self.name) wang = Man('老王') # 删除 wang 对象 del wang # 应用 input 使程序等待 input('请输入密码') song = Man('老宋')
D:\python\python.exe D:/project/index.py 老王 活了 老王 死了 请输入密码
D:\python\python.exe D:/project/index.py 老王 活了 老王 死了 请输入密码123456 老宋 活了 老宋 死了 Process finished with exit code 0
-