Python中的内置函数__init__()的理解

时间:2022-08-23 14:59:11

有点意思,本来我是学习java的。总所周知,java也有构造函数,而python在面向对象的概念中,也有构造函数。它就是 __init__(self) 方法。

其实类似于__init__()这种方法,其实还有很多。类似__del__(self)  ...  __new__(cls,*args,**kwd) 等等。它们被成为 python的常用内置方法。

下面开始介绍一下我对 __init__()的理解:

class A(object):
def __init__(self,name): 
self.name = name
def getName(self):
return 'A'+self.name a = A('hello')
print a.getName()

当我们执行

a = A('hello')

可以理解为:

a=object.__new__(A)
A.__init__(a,'hello')

也就是说,当我们初始化一个对象的时候,首先执行的不是__init__()方法,而是__new__()