python类中的 init_Python类中__init__()的作用

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

# coding:utf-8

class a():

def __init__(self,name):

self.name = name

def get_name(self):

return self.name

b = a("wang")

print(b.get_name())

Output:

-----

wang

-----

例如:

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

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)

Output:

--

3

--

承接Matlab、Python和C++的编程,机器学习、计算机视觉的理论实现及辅导,本科和硕士的均可,咸鱼交易,专业回答请走知乎,详谈请联系QQ号757160542,非诚勿扰。

本文同步分享在 博客“于小勇”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


版权声明:本文为weixin_40007668原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。