Python 类构造方法 __init__ 详解 [OOP][Constructor][构造方法的调用]

您的“关注”和“点赞”,是信任,是认可,是支持,是动力…

如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

1 Python 构造方法概述

Python 中的 __init__()方法,是一个特殊的类实例方法,称为构造方法、构造函数或构造器,英文为 Constructor。

仅包含 self 参数的 __init__(self) 构造方法,又称为类的默认构造方法。

构造方法最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。

在 Python 类中,如果不手动为类添加任何构造方法,Python 会自动为类添加一个仅包含 self 参数的构造方法。

当然,也可以手动为类添加构造方法。

手动添加构造方法的语法格式如下所示:

def __init__(self,...):
    代码块

对以上格式说明,

  • __init__:是方法名。
  • 形式参数:可以包含多个参数,但是,至少要有一个 self 参数且为第一个参数。

举例如下所示:

# 定义类
class Demo:
    # 手动为类添加构造方法
    def __init__(self):
        print('构造方法被执行了。')

    # 定义类属性
    name = '码农阿杰'

    # 定义 info() 方法
    def info(self,):
        print('info() 方法被执行了。')

2 Python 构造方法的调用

每当创建一个类的实例对象时,Python 解释器都会自动隐式调用构造方法。

举例如下所示:

例一,

# 定义类
class Demo:
    # 手动为类添加构造方法
    def __init__(self):
        print('构造方法被执行了。')

    # 定义类属性
    name = '码农阿杰'

    # 定义 info() 方法
    def info(self,):
        print('info() 方法被执行了。')


demo = Demo()  # 创建 Demo 类的对象,将会隐式调用构造方法

运行结果:

构造方法被执行了。

例二,

# 定义类
class Demo:
    # 手动为类添加构造方法
    def __init__(self, age, gender):
        print('构造方法被执行了。', age, gender)

    # 定义类属性
    name = '码农阿杰'

    # 定义 info() 方法
    def info(self,):
        print('info() 方法被执行了。')


demo = Demo(18, '男')  # 创建 Demo 类的对象,将会隐式调用构造方法并传入参数值

运行结果:

构造方法被执行了。 18

从例二中可以看出,构造方法中有三个参数 self、age、gender,其中 self 参数(请参见博文《Python self 参数详解》)不需要手动传入参数值,在调用时实际传参的仅有 age、gender。

【友情链接】

微信公众号:码农阿杰

博客园

【参考资料】

Python 官网

Python 3.8.2 documentation

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章