python中定义类时__init__()方法的作用

最开始学习python,认为定义类时__init__方法的作用等同于C中的构造函数,但是使用之后发现也有区别

例如:

python中定义类时__init__()方法的作用_第1张图片

执行时的步骤可以理解为;

b = object.__new__(a)

a.__init__(a,"wang")

即__init__的作用是初始化实例后的对象b

在子类不重写__init__方法时,子类会默认调用父类中的__init__方法

子类也可以重写__init__方法,来给子类定义专属属性

当然,上面写的是比较官方的解释

用简单的话来讲,可以理解为,类的属性如果直接写在类里面一般是要有值的

例如: class fun()

                a = 3

这样的情况下,类中的属性无法变成变量,当将类的属性以self.a的方式定义到初始化方法中,那属性也可以当成变量

例如:class fun()

               def __init__(self,a)

                      self.a = a

         f = fun(3)

          print(f.a)

在这种情况下,类中的属性,变成了变量,并且需要在创建对象时传值

你可能感兴趣的:(python中定义类时__init__()方法的作用)