跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Python 类基础入门教程

Python 面向对象编程的基础知识,涵盖类的概念、对象创建、属性管理、继承机制及跨文件导入类的方法。文章详细讲解了 class 关键字用法、__init__初始化方法、self 参数含义、属性访问与修改、__doc__文档字符串获取,以及子类继承父类时的 super() 调用和 method overriding 策略。同时说明了如何在不同 Python 文件中通过 import 语句复用已定义的类,适合初学者建立 OOP 核心概念。

奇形怪状发布于 2026/3/25更新于 2026/10/26106 浏览

一、类的介绍

类是将具有相同属性或特征的事物归为同一集合的抽象概念。整数类包含正整数、负整数和零,字符串类涵盖所有字符序列,列表和字典则分别表示有序集合和键值对结构。这些数据类型通过归类形成明确的类别,便于系统化处理和分析。

1.对象的基本概念

对象是指类中的具体实例,例如整数中的 12 是整数这一类数据的一个具体数值对象。

2.创建类

创建类是指提前为某一类事物创建方法。在该使用形式中,第 1 行内容的 class 是 Python 中的保留字,用于表明此处是创建一个类。class 后面是类的名称,类的命名规则与变量的命名规则相同,为了区别于函数,类名称的首字母一般要大写。类名称后有一个括号,括号后有一个冒号。

第 2 行内容是一段由三引号引起来的字符串,主要用于创建类的功能说明和方法的使用说明,便于其他用户使用该类。由于此字符串并没有赋值给任何变量,因此此字符串不会有其他的操作,此字符串也可以省略不写。

第 3 行内容是类中的一个初始化方法,是一个特殊方法,其创建方法与函数的创建方法基本相同,也使用保留字 def,但类初始化方法要使用固定的方法名 __init__(前后各两个下画线,共 4 个)来表示,且括号中的第 1 个形参变量名为 self。self 表示类自己本身,就好比人类会用'我'这个字表示自己本身。self 在形参中须位于第 1 个。括号后面有一个冒号,表示下面缩进的内容隶属于类初始化方法。

第 5 行内容是创建的类中的方法,例如列表中的 append() 方法。其创建方法与函数的创建方法相同,都使用保留字 def 创建,def 后面为方法名,形参是使用该方法时所接收的参数。

示例代码:

3.创建对象

在使用类和类中的方法时,需要通过调用类来创建类的对象。类名必须与定义的类名称一致,程序运行时传入构造函数的实参会自动传递给类的 __init__() 初始化方法。对象命名遵循与普通变量相同的规则,需符合标识符命名规范。

创建类的对象后就可以通过对象名使用类中的方法。使用类中的方法前必须要先通过类创建对象。

二、类的属性

1.属性的使用

类的属性是指给每个对象赋予的标签信息。当使用类创建了对象后,会通过初始化类的属性使得每个对象都具有自己的属性信息(例如用户的微波炉的购买时间、名称等),类的属性信息可以通过对象获取(例如查看购买的微波炉的信息)。

在使用属性前需要先创建一个具体的对象,因为属性是每个具体对象的标签信息。使用属性时无须在最右边加上括号,只有方法和函数需要加上括号。

2.初始化其他方法

在类的定义中,__init__() 初始化方法也可以调用类中定义的其他方法。类中的任何方法都可以调用类中的其他方法,不仅限于 __init__() 方法。类中的方法在调用类中其他方法时的使用形式为 self.方法名 (参数),其中 self 表示调用的方法是类自己的。

3.属性的修改

属性的值可以通过对象来进行修改。

4.获取类的文档说明

获取类的文档说明可以使用 __doc__ 属性实现。

三、类的继承

1.类的继承方法

在创建新类时,class 后面的括号用于继承父类且不接受参数。子类继承父类的使用方式为:

使用继承方法创建新类与直接创建新类有两点区别:

(1)新类中子类名后面的括号中需要写入父类名,表明该新类继承自哪个父类,且父类的代码必须要写在子类的前面,否则程序将无法找到对应的父类进行继承。

(2)在新类初始化方法中,代码块的首行需要加入 super().__init__(父参数),用于表明将父类中的属性和方法与新类关联起来,且父参数是父类初始化时的形参。新类初始化方法中的子参数也需要包含父类的父参数。

示例:

在使用类的继承方式是要注意两点:

(1)通过子类创建的对象可以使用子类和父类中的所有属性和方法。

(2)通过父类创建的对象只能使用父类中的属性和方法,而不能使用子类中的属性和方法。

2.在子类中添加方法

子类中可以添加新的方法,但在子类中创建的方法无法在父类中使用,而父类中创建的方法可以在子类中使用。由于父类没有子类的方法,所以会产生报错。

3.覆盖父类的方法

当需要对父类的方法进行修改、调整时,可以通过子类重新编写父类的方法。

四、导入其他文件的类

1.导入类

当需要在 a2.py 文件使用 a1.py 的类时,与导入其他模块的函数方法基本相同,且必须保证两个文件在同一文件夹中。导入文件有四种代码形式:

(1)导入文件。

(2)导入文件中的指定类。

(3)导入文件中的全部类。

(4)给导入的类设置别名。

2.在类中使用另一个类的方法

a3.py 该代码定义了类 Bluetooth,用于模拟连接手机蓝牙。 a1.py 该代码定义了类 Microwave,并导入 a3.py 文件。 a2.py 该代码为主代码,并导入 a1.py 文件。

目录

  1. 一、类的介绍
  2. 1.对象的基本概念
  3. 2.创建类
  4. 3.创建对象
  5. 二、类的属性
  6. 1.属性的使用
  7. 2.初始化其他方法
  8. 3.属性的修改
  9. 4.获取类的文档说明
  10. 三、类的继承
  11. 1.类的继承方法
  12. 2.在子类中添加方法
  13. 3.覆盖父类的方法
  14. 四、导入其他文件的类
  15. 1.导入类
  16. 2.在类中使用另一个类的方法

更多推荐文章

查看全部
  • OpenAI Whisper 模型版本对照与官方下载链接
  • 大模型学习路线与核心知识体系梳理
  • Mac Mini M4 本地部署大模型:Ollama、Llama 与绘图工具指南
  • Flutter 解决数据未加载时访问 Map 键值报 NullError 问题
  • ComfyUI 与 Photoshop 集成配置实战指南
  • Flutter 插件适配 OpenHarmony:onMethodCall 分发与参数处理实战
  • 前端 pnpm workspace 架构详解
  • Spring MVC 响应处理:页面、数据与状态码配置详解
  • GitHub 上 10 个适合新手入门的 Python 教程与项目推荐
  • Android 开发常见知识点与最佳实践整理
  • OpenClaw 安装部署全流程 - 搭建自托管 AI 助手
  • Flutter for OpenHarmony 实战:使用 Injectable 实现自动化依赖注入
  • 使用 Claude Code 与 GLM4.7 调试前端 Bug 的实战复盘与反思
  • RISC-V 处理器实战:Verilog RTL 设计与 FPGA 原型验证
  • Flutter eth_sig_util 鸿蒙适配:以太坊加密签名核心实现
  • 如何使用 Kiro 进行 Python 开发
  • DeepSeek-R1-Distill-Llama-8B 数学解题实战与效果分析
  • Midjourney 注册、订阅及基础使用指南
  • PyCharm 基础操作指南:快速入门
  • AI 辅助安卓逆向:JADX-AI-MCP 插件配置与实战

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online