类实例化对象调用的第一个方法到底是什么?
类实例化对象调用的第一个方法到底是什么?我的理解__new__应该是第一个。 就像上面解释说的,__new__是第一个,然后是__init__(如果有的话),__new__用于修改类的特性,__init__用于初始化类的属性 冬雪雪冬 发表于 2016-6-14 10:34
我的理解__new__应该是第一个。
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。{:10_256:}@小甲鱼 ~风介~ 发表于 2016-6-14 19:04
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。@小甲 ...
{:10_319:} 楼上解答正确。 ~风介~ 发表于 2016-6-14 19:04
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。@小甲 ...
类实例化成对象和对象实例化有什么差别呢?多谢! ~风介~ 发表于 2016-6-14 19:04
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。@小甲 ...
大概明白了,谢谢。{:10_297:} 小甲鱼 发表于 2016-6-16 02:40
楼上解答正确。
哇,小甲鱼!谢谢!{:10_257:} 对于面向对象的语言,在实例化对象时通常首先调用的都是构造方法或者构造函数 __new__ 创建类
__init__ 用__new__创建的类创建实例 本帖最后由 、尾指一勾 于 2017-8-31 11:49 编辑
实例化调用的 第一个方法是 __new__第二个是 __init__
但是__new__很少直接使用 (都是系统自动调用人工不做更改)(Python实现单例模式 需要用到) 大哥,上面写的比较清楚了,它一个是对象实例化,一个是类到实例化成对象的时候,这是两种完全不同的使用。如果是第一种情况,那肯定是__new__(这也就是第一个想到的) 对于第二种那就是__init__这只是习惯使用的,比较常用的。
页:
[1]