python类是结构化蓝图,封装属性与方法;__init__初始化对象状态,需用self绑定实例属性;通过点号统一访问;组合比继承更常用,体现真实对象拼装关系。

Python 的 class 语法不是为了“炫技”,而是让复杂对象的定义更清晰、操作更可控。它把数据(属性)和行为(方法)打包成一个可复用的单元,避免零散变量和函数带来的混乱。
类是结构化的蓝图,不是一堆变量的集合
定义一个类,就是在描述一类事物该有什么特征、能做什么事。比如描述“一本书”:
- 它有标题、作者、页数——这些是属性
- 它能显示简介、计算阅读时间——这些是方法
- 每个具体书(如《Python入门》)都是这个类的一个对象,彼此独立,互不影响
__init__ 是对象出生时的初始化步骤
创建对象时,__init__ 方法自动运行,负责给新对象设置初始值。它不是可选的“装饰”,而是建立对象状态的关键环节:
- 必须写
self作为第一个参数,代表当前正在创建的那个对象 - 传入的参数(如
title,author)会被绑定为该对象的实例属性:self.title = title - 漏掉
self.前缀,变量就只是局部临时值,不会属于对象
用点号(.)访问,是对象操作的统一入口
一旦有了对象,所有属性和方法都通过 . 来调用,逻辑一目了然:
-
book.title→ 读取标题 -
book.pages→ 读取页数 -
book.summary()→ 执行生成简介的动作 - 即使内部逻辑变复杂(比如加了校验或格式转换),外部调用方式完全不变
组合比继承更常用,也更贴近真实需求
现实中的复杂对象,往往由多个小对象拼装而成。比如“订单”包含“用户信息”、“商品列表”、“支付方式”——每部分都可以是一个独立的类:
- 定义
User类管理姓名、地址 - 定义
Product类管理名称、价格 - 在
Order类中,把它们作为属性:self.customer = user,self.items = [product1, product2] - 这样修改某一部分(如支付逻辑)不会波及其他模块











