前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python类中__init__()的作用

Python类中__init__()的作用

作者头像
狼啸风云
修改2022-09-03 19:24:32
2.4K0
修改2022-09-03 19:24:32
举报

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

代码语言:javascript
复制
# 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
-----

例如:

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

代码语言:javascript
复制
b = object.__new__(a)

a.__init__(a,"wang")

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

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

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

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

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

例如:

代码语言:javascript
复制
class fun()

   a = 3

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

例如:

代码语言:javascript
复制
class fun():
    def __init__(self, a):

        self.a = a


f = fun(3)

print(f.a)

Output:
--
3
--
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档