您的“关注”和“点赞”,是信任,是认可,是支持,是动力…
如意见相佐,可留言。
本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。
文章目录
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。