Python中类是对象模板,实例化生成独立对象并分配内存;实例属性属单个对象,类属性被所有实例共享;点号或getattr/setattr访问属性;self是实例方法必含的隐式参数。

Python中,类是创建对象的模板,对象是类的具体实例。实例化就是用类生成一个对象的过程,而属性则是对象所拥有的数据或行为特征。
类定义与实例化:从模板到具体对象
定义类使用 class 关键字,类名通常大驼峰命名;实例化就是调用类名加括号,像函数一样执行,返回一个新对象。
- 类本身不占用内存空间,只有实例化后才分配内存并生成真实对象
- 每次实例化都会创建独立的对象,彼此属性互不影响
- 如果类中定义了 __init__ 方法,它会在实例化时自动调用,用于初始化对象状态
实例属性 vs 类属性:作用域和生命周期不同
实例属性属于某个具体对象,在 __init__ 中通过 self.xxx = value 定义;类属性属于类本身,在类体中直接定义,所有实例共享同一份值。
SkillSub Pro - Python 题解与代码注释双功能技能功能概述SkillSub Pro - Python 题解与代码注释双功能技能是一项面向实际任务的技能,主要用于SkillSub Pro 是一个 Python 题解生成与代码注释的 双功能合体技能 ,专为学生、算法学习者和开发者设计;✅ 一个技能,两种用途 :;核心要点📝 题解模式 :输入题目/题号,自动生成完整 Python 题解(含详细注释、解题思路、复杂度分析);💬 注释模式 :输入 Python 代码,自动添加详细中。它将相关步骤、
- 修改实例属性只影响当前对象;修改类属性会影响所有未覆盖该属性的实例
- 若在实例上赋值同名属性(如 obj.name = 'new'),会新建实例属性,遮蔽类属性
- 推荐把不变的配置、常量设为类属性,把每个对象独有的状态设为实例属性
访问与动态设置属性:点号操作与内置函数
最常用的是用点号(.)读写属性,如 obj.age = 25 或 print(obj.name);也可用 getattr()、setattr()、hasattr() 等函数安全操作。
立即学习“Python免费学习笔记(深入)”;
- 点号访问简洁直观,但属性名必须是已知的合法标识符
- 函数方式适合属性名来自变量、配置或用户输入等动态场景
- 尝试访问不存在的属性会触发 AttributeError,可用 getattr(obj, 'key', default) 提供默认值避免报错
理解 self:指向当前实例的隐式参数
self 是实例方法的第一个形参,Python 自动传入调用该方法的对象本身。它不是关键字,但约定俗成必须叫 self,且必须显式写出。
- 在类内部,所有实例属性和方法都通过 self.xxx 访问,否则会被当作局部变量处理
- 定义方法时写了 self,调用时不用传 —— Python 自动补上
- 误删 self 会导致“缺少参数”错误;误写成其他名字虽不报错,但违背规范且易引发混淆

















