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

有点意思,本来我是学习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__()

 

posted on 2017-02-05 10:45  野区杰西  阅读(10691)  评论(0编辑  收藏  举报

导航