猿问

python初级问题5

这段代码错误错在哪里

慕无忌0492270
浏览 663回答 1
1回答

pardon110

__new__方法的调用是发生在__init__之前的。其实当 你实例化一个类的时候,具体的执行逻辑是这样的:1. p = Person(name, age)2. 首先执行使用name和age参数来执行Person类的__new__方法,这个__new__方法会 返回Person类的一个实例(通常情况下是使用 super(Persion, cls).__new__(cls, ... ...) 这样的方式),3. 然后利用这个实例来调用类的__init__方法,上一步里面__new__产生的实例也就是 __init__里面的的 self__init__ 和 __new__ 区别在于:1.__init__ 通常用于初始化一个新实例,控制这个初始化的过程,比如添加一些属性, 做一些额外的操作,发生在类实例被创建完以后。它是实例级别的方法。2.__new__ 通常用于控制生成一个新实例的过程。它是类级别的方法。
随时随地看视频慕课网APP

相关分类

Python
我要回答