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__()

原文地址:https://www.cnblogs.com/tjc1996/p/6367127.html