Discuss / Python / __new__ 和 __init__

__new__ 和 __init__

Topic source

请教一下老师:

class DeclarativeMeta(type):    def __init__(cls, classname, bases, dict_, **kw):        # use cls.__dict__, which can be modified by an        # __init_subclass__() method (#7900)        dict_ = cls.__dict__

这是sqlalchemy里面的代码,这个__init__难道跟__new__有一样的功效?如果换成__new__我还好理解一点,__init__我不知道何时触发

亦夜

#2 Created at ... [Delete] [Delete and Lock User]

__new__先于   __init__   从这一章的metaclass 就可以理解为 metaclass 是class的父级,就是字面意思当类创建就执行 而__init__是实例创建才执行


  • 1

Reply