说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
特殊方法 __init__()
是 Python 中一个特殊的方法,它在初始化一个类的实例化对象时候调用。在实例化类对象的时候,并不是第一个被调用的方法。使用 __init__()
函数将值分配给对象属性或创建对象时必须执行的其他操作。
此特殊方法的语法是:
object.__init__(self[, ...])
在实例 (通过 __new__()
) 被创建之后,返回调用者之前调用。其参数与传递给类构造器表达式的参数相同。一个基类如果有 __init__()
方法,则其所派生的类如果也有 __init__()
方法,就必须显式地调用它以确保实例基类部分的正确初始化;例如: super().__init__([args...])
。
因为对象是由 __new__()
和 __init__()
协作构造完成的 (由 __new__()
创建,并由 __init__()
定制),所以 __init__()
返回的值只能是 None,否则会在运行时引发 TypeError
。
__init__()
方法可以包含多个参数,但必须包含一个名为 self(约定俗成名)的参数,且必须作为第一个参数。也就是说,类的构造方法最少也要有一个 self 参数,仅包含 self 参数的 __init__()
构造方法,又称为类的默认构造方法。
对日期类进行初始化:
class Date:
def __init__(self, year, month, day):
self.year = year
self.month = month
self.day = day
date = Date(2022, 7, 1)
date.year
# 2022
__new__()
区别可查看 __new__
中关于两者区别的介绍。
https://docs.python.org/zh-cn/3/reference/datamodel.html#object.__init__
更新时间:June 28, 2022, 4:51 p.m. 标签:python 对象 初始化