Python中的__init__

2017-08-05  本文已影响26人  MontyOak

许多有其他语言背景(比如C,C++等)的初学者都会以为在Python中,__init__方法充当着类似与类构造方法的角色。就大多数使用场景来看,这么理解似乎没有什么问题:当实例化一个对象的时候,使用my_class = MyClass(args)就会返回一个实例给my_class变量。

那实际上,在实例化一个类的时候,到底是一个怎样的过程呢?首先要说的是,__init__并不是一个构造方法,它的工作是在类的对象创建完成之后,对类的变量属性进行初始化。那类的对象又是由谁来创建的呢?

答案是__new__方法,它才是传统意义上的构造方法。

__init____new__又有什么不同点呢?

最后,英文好的童鞋看这里

上一篇 下一篇

猜你喜欢

热点阅读