前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python - 面向对象编程 - __init__() 构造方法

Python - 面向对象编程 - __init__() 构造方法

作者头像
小菠萝测试笔记
发布2021-09-07 15:29:01
3060
发布2021-09-07 15:29:01
举报

什么是构造方法

  • 在创建类时, 可手动添加一个 方法,称为构造方法,这是一个实例方法

__init__()

  • 构造方法用于创建实例对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它
  • 一般用来初始化对象的某些属性

构造方法语法格式

代码语言:javascript
复制
class 类:
    def __init__(self, 参数):
        self.属性 = 参数
     ...

对象 = 类(参数)
  • init 的前缀和后缀是两个下划线 _
  • 方法可以包含多个参数,但必须要包含一个 self 参数,且必须为第一个参数,所以至少要包含一个 self 参数
  • 第一个参数 self 指向新创建的对象
类的默认构造方法
  • __init__() 构造方法并不是必写
  • 假设不写,Python 也会自动添加一个仅包含 self 参数的 __init__() 构造方法,这又称为类的默认构造方法

不带参数的构造方法栗子

代码语言:javascript
复制
# 不带参数
class PoloBlog:
    def __init__(self):
        print("自动调用构造方法")
        # 定义了一个实例属性
        self.name = "小菠萝"


blog = PoloBlog()
print(blog.name)


# 输出结果
自动调用构造方法
小菠萝

显然,在创建 blog 这个对象时,隐式调用了手动创建的 __init__() 构造方法

带参数的构造方法栗子

代码语言:javascript
复制
# 带参数
class PoloBlog:
    def __init__(self, name, age):
        print("自动调用构造方法")
        # 初始化实例属性
        self.name = name
        self.age = age

    # 下面定义了一个 say 实例方法
    def say(self):
        print(self.name, self.age)


blog = PoloBlog("姓名", "年龄")
blog.say()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是构造方法
  • 构造方法语法格式
    • 类的默认构造方法
    • 不带参数的构造方法栗子
    • 带参数的构造方法栗子
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档