1. 面向对象编程基础:从零理解Python类
第一次接触Python类时,我完全被那些self参数和__init__方法搞晕了。直到有天我把类想象成乐高积木的说明书,一切都豁然开朗。类就像那份说明书,告诉你每个积木块(属性)该怎么组装,以及能拼出什么造型(方法)。而对象就是你按照说明书实际拼出来的乐高模型。
Python中万物皆对象,就连简单的数字5也是int类的一个实例。这种设计让Python的面向对象特性非常自然。举个例子,当你在交互式环境输入type(5),它会告诉你这是<class 'int'>,证实了5确实是int类的实例。
理解类与对象的关系,就像区分汽车设计图和实车。设计图(类)定义了汽车应有的属性和功能,但只有制造出来的实车(对象)才能真正驾驶。在代码中,我们先用class关键字定义蓝图,然后通过实例化创建可操作的对象:
python复制class Smartphone:
def __init__(self, brand):
self.brand = brand # 实例属性
def call(self, number):
print(f"{self.brand}正在拨打{number}")
my_phone = Smartphone("华为") # 创建实例
my_phone.call("10086") # 调用方法
这里__init__是构造方法,就像乐高说明书里的第一步组装指南。self参数代表实例本身,相当于说"这台具体的手机"。每个方法第一个参数都必须是self,这是Python识别实例的关键。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 类的核心机制:深入属性与方法
实际项目中,我经常看到新手混淆类属性和实例属性。类属性相当于共享配置,而实例属性是每个对象独有的数据。比如游戏中所有角色共享移动速度(类属性),但各自有不同的生命值(实例属性):
python复制class GameCharacter:
move_speed = 5 # 类属性
def __init__(self, name):
self.name = name # 实例属性
self.hp = 100
hero = GameCha
