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 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,236评论 4 16
  • 时间是浪费的了 痛苦也是真是的了 你说你孤独 你说喜欢孤独 习惯是一种坏东西 有时会吞噬你的自我力 习惯又是一种好...
    小雨的雨阅读 295评论 0 0
  • 文/誉恬家 1. “何为逆向思维?” 人多的地方充满了商机,但也充满了危机。 商机还是危机,在于你追求的东西。 以...
    跳完舞阅读 678评论 0 4
  • 最近不堪重负疲惫前行。通常在周六早上起来身体会有浮肿,四肢无力,我知道这是身体太累却没有充分休息的结果,如果...
    微笑的花朵阅读 221评论 1 0