初始Python篇(10)—— 初识 类与对象
初始Python篇10—— 初识 类与对象专为零基础/转行/面试准备设计2026 年最新版这是 Python 入门系列的最重要一篇也是从“会写代码”到“会写工程代码”的分水岭。1. 为什么需要类先说白话让你一下子懂想象你要管理“学生”信息用变量写最原始name1张三age118score195name2李四age219score288→ 100 个学生就要写 300 行变量太乱用类Class写面向对象classStudent:pass# 后面会填内容s1Student()# s1 就是一个“学生对象”s2Student()# s2 是另一个独立的学生对象一个类 一个“模板”可以批量生产很多“对象”实例。一句话总结类Class是模板对象Object/Instance是根据模板造出来的具体东西。2. 类的基本写法手敲 3 遍记住classStudent:# 类名建议大驼峰CamelCase这是一个学生类# 类文档字符串docstring# 类属性所有学生共有的school第一中学# 属于类不属于某个学生# 初始化方法构造器—— 对象出生时自动执行def__init__(self,name,age):# self 必须写在第一个参数self.namename# 实例属性每个学生自己有self.ageage self.score0# 默认值# 普通方法实例方法defstudy(self):print(f{self.name}正在学习...)defexam(self,score):self.scorescoreprint(f{self.name}考试得了{score}分)3. 创建对象 使用对象超级简单# 创建两个学生对象s1Student(张三,18)s2Student(李四,19)# 使用对象print(s1.name)# 张三print(s2.age)# 19print(s1.school)# 第一中学 类属性所有学生共享s1.study()# 张三 正在学习...s2.exam(95)# 李四 考试得了 95 分print(s2.score)# 954. 核心概念图解面试/理解必看类 Student模板 ├── 类属性school 第一中学 ├── __init__(self, name, age) ← 构造器 ├── study(self) ← 实例方法 └── exam(self, score) 对象 s1实例 ├── name 张三 ├── age 18 ├── score 0 └── school从类里找 对象 s2实例完全独立5. self 到底是什么最容易懵的地方self代表当前对象本身在类里面写方法时必须把self写在第一个参数调用方法时不用手动传Python 自动把对象传进去# 调用时这样写s1.study()# Python 自动变成Student.study(s1)# 类里面这样定义defstudy(self):print(self.name)# self 就是 s1记住口诀“谁调用方法self 就是谁”6. 类属性 vs 实例属性面试必问classStudent:school第一中学# 类属性def__init__(self,name):self.namename# 实例属性s1Student(张三)s2Student(李四)print(s1.school)# 第一中学print(s2.school)# 第一中学Student.school第二中学# 修改类属性所有对象都变print(s1.school)# 第二中学print(s2.school)# 第二中学s1.school第三中学# 给 s1 新增实例属性屏蔽类属性print(s1.school)# 第三中学print(s2.school)# 第二中学s2 仍然走类属性7. 魔法方法快速预览以后会详细讲def__str__(self):returnf学生{self.name}年龄{self.age}print(s1)# 自动调用 __str__输出更友好8. 完整小练习现在就敲classDog:species犬科# 类属性def__init__(self,name,age):self.namename self.ageage self.tricks[]# 每只狗有自己的技能列表defteach(self,trick):self.tricks.append(trick)print(f{self.name}学会了{trick})defshow(self):print(f{self.name}会{self.tricks})# 使用d1Dog(旺财,3)d2Dog(小黑,5)d1.teach(握手)d1.teach(打滚)d2.teach(汪汪叫)d1.show()d2.show()总结一句话记住本篇所有内容类是模板对象是实例init是出生时执行的方法self 代表当前对象用 . 属性 来访问数据和行为。本篇结束你已经正式进入面向对象编程世界下一讲初始Python篇 11我将深入讲解三大特性封装、继承、多态私有属性__xxxproperty 装饰器类方法、静态方法继承与 super()想现在就看下一讲吗或者我先给你出一套“类与对象” 专属练习题 面试真题10 道直接回复“下一讲”或“练习题”即可继续加油你已经比 80% 的 Python 初学者走得更远了