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

Python 核心知识体系总结:基础语法、内存模型与面向对象编程

系统梳理了 Python 编程语言的核心知识点,涵盖语言特性、内存管理机制、数据结构操作、函数定义与参数传递、变量作用域、深浅拷贝原理以及面向对象编程三大特性。内容包含具体的代码示例,解析了对象标识、堆栈区别、Lambda 表达式用法及类继承关系,并补充了异常处理、模块导入及最佳实践建议,旨在帮助开发者全面掌握 Python 基础架构与编程规范。

筑梦师发布于 2025/2/6更新于 2026/10/2594 浏览
Python 核心知识体系总结:基础语法、内存模型与面向对象编程

Python 核心知识体系总结

前言

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。它结合了编译性、互动性和面向对象的脚本语言特性,广泛应用于数据分析、人工智能、Web 开发等领域。

Python 简介与特点

基本定义

  • 解释型:无需编译环节,直接运行源代码,类似于 PHP 和 Perl。
  • 交互式:支持在 >>> 提示符后直接执行代码,便于调试和测试。
  • 面向对象:支持封装、继承和多态的编程风格。
  • 开源协议:遵循 GPL (GNU General Public License) 协议。

主要特点

  1. 易于学习:关键字少,语法结构清晰,适合初学者。
  2. 易于阅读与维护:代码缩进规范,逻辑明确,维护成本低。
  3. 丰富的标准库:跨平台兼容性好(UNIX, Windows, Macintosh),内置大量功能模块。
  4. 可扩展性:可嵌入 C/C++ 程序,关键性能代码可用 C/C++ 编写并调用。
  5. 数据库支持:提供主流商业数据库接口。
  6. GUI 编程:支持创建跨平台的图形用户界面。
  7. 可嵌入:可作为脚本引擎嵌入其他应用程序。

一、对象与内存管理

对象三要素

Python 中一切皆对象,每个对象由标识、类型、值组成。

  • 标识 (Identity):唯一标识对象,通常对应内存地址,使用 id(obj) 获取。
  • 类型 (Type):表示数据存储的类型,使用 type(obj) 获取。
  • 值 (Value):对象存储的具体数据信息,使用 print(obj) 查看。
a = 10
print(id(a))      # 输出对象内存地址
print(type(a))    # 输出 <class 'int'>
print(a)          # 输出 10

堆与栈的区别

内存空间在逻辑上分为代码区、静态数据区和动态数据区。动态数据区包含栈区和堆区。

区域存储内容分配/回收方式
代码区方法体的二进制代码系统控制切换
静态数据区
全局变量、静态变量、常量
自动分配和回收
栈区形参、局部变量、返回值自动分配和回收
堆区新创建的对象真实数据手动或 GC 回收

示例:引用存储在栈区,指向堆区的真实数据。

list_obj = [1, 2, 3]  # list_obj 引用在栈,列表数据在堆

二、序列与数据结构

序列 (Sequence)

序列是连续内存空间存储的一系列数据。常见类型包括列表 (List)、元组 (Tuple)、字符串 (String)。

字典 (Dictionary)

字典是无序的键值对集合,通过 Key 存取而非偏移量。

dict_data = {"name": "Alice", "age": 25}
print(dict_data["name"])  # 输出 Alice

三、函数与参数传递

函数本质

函数也是对象,定义时即创建函数对象。参数传递本质是从实参到形参的赋值操作。

可变参数

  • *param:收集多个参数为元组。
  • **param:收集多个参数为字典。
def func(*args, **kwargs):
    print(args)   # 元组
    print(kwargs) # 字典

func(1, 2, a=3, b=4)

Lambda 表达式

用于声明匿名函数,仅允许包含一个表达式。

add = lambda x, y: x + y
print(add(1, 2))  # 输出 3

四、变量作用域

全局变量与局部变量

  • 全局变量:定义在函数外,作用域为模块。应尽量避免使用,降低通用性。
  • 局部变量:定义在函数内,优先使用,效率更高。
  • Global 声明:函数内修改全局变量需使用 global 关键字。
global_var = 100

def modify_global():
    global global_var
    global_var = 200

深浅拷贝

  • 浅拷贝:只拷贝子对象引用,不拷贝子对象内容。
  • 深拷贝:递归拷贝所有子对象内存,修改源对象不影响副本。
import copy
original = [[1, 2], [3, 4]]
shallow = original.copy()
deep = copy.deepcopy(original)

五、面向对象编程 (OOP)

类与对象

类是制造对象的模具,对象是类的实例。类将行为(方法)和状态(属性)打包在一起。

三大特征

  1. 继承:子类复用父类属性和方法。
  2. 封装:隐藏内部实现细节,仅暴露必要接口。
  3. 多态:不同对象对同一消息做出不同响应。
class Animal:
    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return "Woof"

class Cat(Animal):
    def speak(self):
        return "Meow"

dog = Dog()
print(dog.speak())  # 输出 Woof

六、异常处理与模块

异常处理

使用 try-except 捕获和处理运行时错误,保证程序健壮性。

try:
    result = 10 / 0
except ZeroDivisionError:
    print("除数不能为零")
finally:
    print("执行完毕")

模块与包

Python 通过模块组织代码。常用标准库如 os, sys, datetime 等可直接导入。

import os
print(os.getcwd())

七、最佳实践建议

  1. 遵循 PEP8:保持代码风格统一,提高可读性。
  2. 命名规范:变量名使用小写加下划线,类名使用大驼峰。
  3. 文档注释:关键函数添加 Docstring 说明用途和参数。
  4. 避免魔法数字:使用常量代替硬编码数值。
  5. 资源管理:使用 with 语句管理文件等资源,确保自动关闭。

结语

掌握 Python 的核心知识是进行高效开发的基础。理解内存模型、数据结构及面向对象思想,能够帮助开发者写出更优雅、性能更优的代码。建议结合实战项目不断练习,巩固理论知识。

目录

  1. Python 核心知识体系总结
  2. 前言
  3. Python 简介与特点
  4. 基本定义
  5. 主要特点
  6. 一、对象与内存管理
  7. 对象三要素
  8. 堆与栈的区别
  9. 二、序列与数据结构
  10. 序列 (Sequence)
  11. 字典 (Dictionary)
  12. 三、函数与参数传递
  13. 函数本质
  14. 可变参数
  15. Lambda 表达式
  16. 四、变量作用域
  17. 全局变量与局部变量
  18. 深浅拷贝
  19. 五、面向对象编程 (OOP)
  20. 类与对象
  21. 三大特征
  22. 六、异常处理与模块
  23. 异常处理
  24. 模块与包
  25. 七、最佳实践建议
  26. 结语

更多推荐文章

查看全部
  • 前后端跨域处理全指南:Java 后端+Vue 前端完整解决方案
  • 基于 FPGA 的以太网 UDP 通信实现与实战
  • WhisperLiveKit 本地部署指南:从环境配置到服务启动
  • OpenClaw 浏览器控制方案:让 AI 助手随时控制浏览器
  • GitHub Copilot 接入第三方模型 API 配置指南
  • Flutter 三方库 bavard 鸿蒙适配:语义化聊天协议与分布式通讯封装
  • FPGA 是什么:现场可编程门阵列详解
  • GitHub Copilot 学生身份认证教程(非校园网)
  • 十大 AI 论文辅助工具评测:降重、去 AIGC 痕迹与写作效率提升
  • Discord中创建机器人的流程
  • 1688.item_fee API:实现电商物流成本透明化管理
  • JavaScript 精度丢失与金额分摊问题的工程化解决方案
  • 一切皆是映射:深入理解 DQN 的稳定性与收敛性
  • Spring Boot 实战:MyBatis 操作数据库(上)
  • Vivado 中实现 LVDS 串行通信的设计流程
  • Go 语言函数全解析:从基础定义到高级特性
  • 7 个实用的 Python 自动化脚本示例
  • AI 大模型开发实战指南:从基础储备到项目部署
  • DeepSeek-R1 大模型基于 MS-Swift 框架的部署、推理与微调实践
  • 采摘机器人毕业设计:基于 ROS 2 与 STM32 的感知控制实现

相关免费在线工具

  • 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