Python类的构造与初始化

在Python中,可以通过class关键字定义自己的类,然后通过自定义的类对象类创建实例对象。

python中创建类

1  创建一个Student的类,并且实现了这个类的初始化函数”__init__”:

class Student(object):

           count = 0

           books = []

           def __init__(self, name):

                   self.name = name

1-1  类构造和初始化

class A(object):

        def __init__(self,*args, **kwargs):

                          print "init %s" %self.__class__

        def __new__(cls,*args, **kwargs):

                         print "new %s" %cls

                        return object.__new__(cls, *args, **kwargs)

>> a = A()

从代码的输出可以看到,当通过类实例化一个对象的时候,”__new__”方法首先被调用,然后是”__init__”方法。

对于”__new__”和”__init__”可以概括为:

•     “__new__”方法在Python中是真正的构造方法(创建并返回实例),通过这个方法可以产生一个”cls”对应的实例对象,所以说”__new__”方法一定要有返回

•     对于”__init__”方法,是一个初始化的方法,”self”代表由类产生出来的实例对象,”__init__”将对这个对象进行相应的初始化操作

你可能感兴趣的:(Python类的构造与初始化)