
在Python中,构造函数是一个特殊的方法,用于在创建类的实例(对象)时自动调用,以初始化对象的属性。构造函数在类中是通过__init__方法来定义的。它的主要作用是为新创建的对象设置初始状态,即初始化对象的属性。
以下是构造函数的几个关键点:
- 方法名称固定:构造函数的名称必须是__init__,这是一种约定俗成的特殊方法名。
- 自动调用:当创建类的实例时,__init__方法会自动被调用。
- 初始化属性:通常在__init__方法中定义和初始化对象的属性。
让我们通过一个简单的例子来说明:
class Person:def __init__(self, name, age):self.name = name  # 初始化name属性self.age = age    # 初始化age属性# 创建Person类的实例
person1 = Person("Alice", 30)# 访问实例的属性
print(person1.name)  # 输出: Alice
print(person1.age)   # 输出: 30
- class Person:定义了一个名为- Person的类。
- def __init__(self, name, age):定义了- Person类的构造函数,接受- name和- age两个参数。
- self.name = name和- self.age = age在构造函数中,将传入的参数值赋给实例属性- name和- age。
- person1 = Person("Alice", 30)创建了一个- Person类的实例,并自动调用构造函数进行初始化。
当我们创建person1实例时,构造函数__init__被自动调用,将name设置为"Alice",age设置为30。因此,我们可以通过访问实例属性person1.name和person1.age来获取这些值。
构造函数还可以接受默认参数,以便在实例化时不必提供所有参数:
class Person:def __init__(self, name, age=25):self.name = nameself.age = ageperson2 = Person("Bob")  # 只传递name参数,age使用默认值
print(person2.name)  # 输出: Bob
print(person2.age)   # 输出: 25
age参数有一个默认值25,因此创建实例person2时只需要传递name参数。