# 构造方法与实例属性

URL: https://caijiao.org/python/ch08/init-attr
Source: docs/python/ch08/init-attr.md
Description: 本章介绍 Python 中构造方法 '__init__' 的使用以及如何通过实例属性管理对象的状态。

在 [Python](/python/) 中，构造方法 `__init__` 用于在创建对象时初始化实例的属性。实例属性是与特定对象绑定的变量。

## 构造方法 `__init__`

构造方法在创建对象时自动调用，初始化对象的状态。通过 `self` 引用对象本身，设置实例属性。

```python
class Person:
    def __init__(self, name, age):
        self.name = name  # 实例属性
        self.age = age    # 实例属性
```

创建对象时传递参数：

```python
p1 = Person("Alice", 30)
p2 = Person("Bob", 25)
```

## 实例属性

实例属性是与对象实例相关联的变量，每个对象都有独立的属性值。

```python
class Car:
    def __init__(self, make, model):
        self.make = make  # 实例属性
        self.model = model  # 实例属性

car1 = Car("Toyota", "Corolla")
car2 = Car("Honda", "Civic")

print(car1.make)  # 输出：Toyota
print(car2.model)  # 输出：Civic
```

## 总结

- 构造方法 `__init__` 用于在创建对象时初始化实例属性；
- 实例属性通过 `self` 在类中定义，并且每个对象都有独立的属性值；
- 构造方法的参数可以动态传入，灵活初始化对象状态。
