作为 Python 编程的核心思想之一,面向对象编程(OOP)以其贴近现实世界的思维方式、高可复用性和易维护性,成为大型项目开发的首选范式。我们从基础概念到高级特性,结合实战案例来系统掌握它。
一、面向对象编程入门:思维转变是关键
1. 两种编程思想的碰撞
编程本质是用计算机解决现实问题的思维方式,Python 同时支持两种核心思想:
- 面向过程:侧重'步骤',像按菜谱做菜一样,一步步拆解任务并实现,适合简单脚本开发;
- 面向对象:侧重'对象',将现实事物抽象为包含属性(特征)和方法(行为)的对象,通过操作对象解决问题,更适合复杂系统。
举个直观例子:去 ATM 机取钱
- 面向过程思维:带卡→去 ATM 机→排队→插卡→输密码→取钱→返回;
- 面向对象思维:操作'银行卡'(属性:卡号、密码;方法:验证)和'ATM 机'(属性:位置、余额;方法:插卡、取款)两个核心对象,无需关注具体步骤细节。
2. 核心概念:类与对象
面向对象的世界里,一切皆对象,而类是对象的抽象模板:
- 类:看不见摸不着的抽象描述,比如'手机'类定义了所有手机共有的属性(品牌、颜色)和方法(开机、拍照);
- 对象:看得见摸得着的具体实体,比如'我的 iPhone 14'就是'手机'类的一个实例。
基本语法实现
# 定义类:抽象模板
class Phone:
# 方法:对象的行为
def open(self):
print("手机正常开机啦~")
def take_photo(self):
print("咔嚓!记录美好瞬间")
def close(self):
print("关机休息,节约电量")
# 创建对象:具体实体
my_phone = Phone()
# 调用方法:操作对象
my_phone.open()
my_phone.take_photo()
my_phone.close()
3. 必懂关键字:self 的核心作用
self 是 Python 面向对象的灵魂关键字,它始终指向当前对象实例本身:
- 区分不同对象:一个类可以创建多个对象,
self能明确当前操作的是哪个对象; - 访问对象成员:在类内部通过
self.属性名访问属性,self.方法名()调用方法。
二、核心技能:属性与魔法方法
1. 对象属性的操作
属性是对象的固有特征,比如手机的品牌、人的年龄,操作方式分两种场景:


