魔术方法、单例模式、上下文管理器协议

魔术方法   双下划线开头和结尾的方法(又叫特殊方法、魔法方法;是Python事先去实现底层的一些方法,自己去定义方法的时候最好不要使用双下划线开头和结尾),不需要手动去调用,都是在特定的情况下触发的。
# 类实例化对象的过程:
# 1、调用__new__创建对象
# 2、调用__init__初始化对象(init中的self就是new的返回值)
# 一般情况下不要去定义__new__方法,如果定义了,一定要在new中返回对象
# 也可以返回其他如一个空列表,这样创建的对象就自动有append等列表特有的方法,但是不会这么做
# 如果__new__方法中没有返回对象,则不会执行到__init__去初始化对象,没有返回值则打印为None

class Demo(object):

def __init__(self):
print('init')

def __new__(cls):
print('new')
obj = super().__new__(cls) # 调用父类

魔术方法、单例模式、上下文管理器协议最先出现在Python成神之路

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/14401.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>