五、实例属性与类属性学习笔记

五、实例属性与类属性学习笔记

2026-02-21
Python基础
type
Post
status
Published
date
Feb 21, 2026
slug
python-instance-and-class-attribute-learning-notes-5
summary
什么时候用类属性。后来才明白,实例属性就像是每个人的钱包——每个人有自己的;类属性就像是学校的校名——所有学生共享同一个!
tags
category
Python基础
icon
password
💡 学习感悟:什么时候用类属性。后来才明白,实例属性就像是每个人的钱包——每个人有自己的;类属性就像是学校的校名——所有学生共享同一个!

1. 实例属性

1.1 什么是实例属性?

实例属性是属于具体对象的属性,每个对象独立拥有。
📝 我的理解:实例属性就像是个人档案——每个学生有自己的姓名、年龄,修改一个不会影响另一个。

1.2 动态添加实例属性

⚠️ 注意:Python 允许动态添加属性,但不推荐,容易让代码难以维护!

2. 类属性

2.1 什么是类属性?

类属性是属于类的属性,所有实例共享。
📝 我的理解:类属性就像是公共资源——学校的图书馆、操场,所有学生共享。

2.2 修改类属性

📝 我的理解:修改类属性就像是学校改名——一改全改,所有学生都知道新名字。

3. 实例属性 vs 类属性

3.1 对比表

特性
实例属性
类属性
定义位置
__init__ 中,self.属性
类内部,方法外部
归属
属于实例
属于类
共享性
每个实例独立
所有实例共享
访问方式
实例.属性
类.属性实例.属性
修改影响
只影响当前实例
影响所有实例

3.2 内存示意图


4. 属性查找顺序

4.1 查找规则

📝 我的理解:属性查找就像是找东西——先翻自己口袋(实例属性),没有就去公共区域(类属性)找。

4.2 实例属性遮蔽类属性

📝 我的理解:实例属性遮蔽就像是个人习惯覆盖集体规定——学校规定8点上课(类属性),但你习惯7点到(实例属性),你自己的习惯优先。

5. 类属性的陷阱

5.1 可变类属性

⚠️ 踩坑:类属性使用可变对象(list、dict)时,所有实例共享,修改会影响全部!

5.2 正确使用可变属性

📝 我的理解:可变数据(list、dict)应该作为实例属性,每个对象有自己的一份,互不干扰。

6. 类属性的使用场景

6.1 计数器

📝 我的理解:类属性计数器就像是签到表——每来一个学生签个到,总数自动更新。

6.2 常量配置

📝 我的理解:类属性配置就像是系统设置——数据库地址、端口号,所有连接共享同一套配置。

7. 核心知识点整理

7.1 选择实例属性还是类属性?

场景
推荐
原因
每个对象不同的数据
实例属性
独立存储
所有对象共享的数据
类属性
节省内存
计数、统计
类属性
全局共享
配置、常量
类属性
统一修改
可变数据(list、dict)
实例属性
避免意外共享

7.2 属性查找顺序


7.3 类属性 vs 实例属性模板

推荐云服务

雨云 - 云服务器首选

稳定 · 高速 · 性价比超高

使用优惠码立享折扣,开启你的云端之旅~

一元试用秒级开通24h在线客服

优惠码

zqf
立即访问
Loading...
灵心小窝

灵心小窝

这里不是一个喧闹的地方,只是用来存放一些还不想遗忘的东西。

声明 © 2026 早清风
加载中...