一二二四四 发表于 2016-6-14 09:20:40

类实例化对象调用的第一个方法到底是什么?

类实例化对象调用的第一个方法到底是什么?

冬雪雪冬 发表于 2016-6-14 10:34:33

我的理解__new__应该是第一个。

python大法好 发表于 2016-6-14 16:26:35

就像上面解释说的,__new__是第一个,然后是__init__(如果有的话),__new__用于修改类的特性,__init__用于初始化类的属性

~风介~ 发表于 2016-6-14 19:04:21

冬雪雪冬 发表于 2016-6-14 10:34
我的理解__new__应该是第一个。

一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。{:10_256:}@小甲鱼

小甲鱼 发表于 2016-6-16 02:40:18

~风介~ 发表于 2016-6-14 19:04
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。@小甲 ...

{:10_319:} 楼上解答正确。

一二二四四 发表于 2016-6-20 10:31:21

~风介~ 发表于 2016-6-14 19:04
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。@小甲 ...

类实例化成对象和对象实例化有什么差别呢?多谢!

一二二四四 发表于 2016-6-20 14:29:25

~风介~ 发表于 2016-6-14 19:04
一个是类实例化成对象(__init__),另一个是对象实例化(__new__),他们应该有差别的吧。@小甲 ...

大概明白了,谢谢。{:10_297:}

一二二四四 发表于 2016-6-20 14:30:14

小甲鱼 发表于 2016-6-16 02:40
楼上解答正确。

哇,小甲鱼!谢谢!{:10_257:}

风雪飘飘 发表于 2017-8-30 15:40:57

对于面向对象的语言,在实例化对象时通常首先调用的都是构造方法或者构造函数

bevin 发表于 2017-8-30 19:48:42

__new__ 创建类
__init__ 用__new__创建的类创建实例

、尾指一勾 发表于 2017-8-31 11:47:51

本帖最后由 、尾指一勾 于 2017-8-31 11:49 编辑

实例化调用的 第一个方法是 __new__第二个是 __init__

但是__new__很少直接使用 (都是系统自动调用人工不做更改)(Python实现单例模式 需要用到)

一抹心尘 发表于 2020-10-25 10:31:22

大哥,上面写的比较清楚了,它一个是对象实例化,一个是类到实例化成对象的时候,这是两种完全不同的使用。如果是第一种情况,那肯定是__new__(这也就是第一个想到的)   对于第二种那就是__init__这只是习惯使用的,比较常用的。
页: [1]
查看完整版本: 类实例化对象调用的第一个方法到底是什么?