

> 📖 **一起读书吧!** 加入《Python编程:从入门到实践》共读营 👉 [点击参加](https://mp.weixin.qq.com/s/ehe2vMrfAFscRLqbM9TF-g)本讲内容
- 创建和使用类
__init__ 初始化方法- 实例属性和类属性
- 实例方法
- 修改属性:直接改、通过方法改
学习目标
理解面向对象编程的"设计图纸" 📐
1. 创建第一个类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Dog: """一个简单的狗类"""
def __init__(self, name, age): """初始化属性name和age""" self.name = name self.age = age
def sit(self): """模拟狗被命令坐下""" print(f"{self.name} is now sitting.")
def roll_over(self): """模拟狗打滚""" print(f"{self.name} rolled over!")
|
__init__ 是构造方法,创建实例时自动调用。self 代表实例本身。
官方文档:9. Classes
2. 创建实例
1 2 3 4 5 6 7
| my_dog = Dog('旺财', 3) your_dog = Dog('来福', 5)
print(f"我的狗叫 {my_dog.name}") print(f"它 {my_dog.age} 岁了") my_dog.sit() my_dog.roll_over()
|
3. __init__ 详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Car: def __init__(self, make, model, year): self.make = make self.model = model self.year = year self.odometer = 0
def get_description(self): return f"{self.year} {self.make} {self.model}"
def read_odometer(self): print(f"里程:{self.odometer} 英里")
my_new_car = Car('audi', 'a4', 2024) print(my_new_car.get_description()) my_new_car.read_odometer()
|
4. 修改属性
直接修改
1
| my_new_car.odometer = 23
|
通过方法修改(推荐,可加验证)
1 2 3 4 5 6 7 8
| def update_odometer(self, mileage): if mileage >= self.odometer: self.odometer = mileage else: print("不能把里程往回调!")
def increment_odometer(self, miles): self.odometer += miles
|
5. 类属性 vs 实例属性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Car: wheels = 4
def __init__(self, make, model): self.make = make self.model = model
c1 = Car('丰田', '卡罗拉') c2 = Car('本田', '思域')
print(Car.wheels) print(c1.wheels) print(c2.wheels)
Car.wheels = 3 print(c1.wheels)
|
6. __str__ 方法
1 2 3 4 5 6 7 8 9 10 11
| class Car: def __init__(self, make, model, year): self.make = make self.model = model self.year = year
def __str__(self): return f"{self.year} {self.make} {self.model}"
my_car = Car('比亚迪', '汉', 2024) print(my_car)
|
官方文档:object.__str__
📚 官方文档参考
🎓 AI 编程实战课程
程序员晚枫专注AI编程培训,通过 《30讲 · AI编程训练营》,让小白也能用AI做出实际项目。