Skip to main content

Python语言学习

info

本教程基于Python 3.12版本官方文档,面向专业Python开发者。

重点贡献在于为官方文档配上经过人工校验的示例代码,为学习者提供一个全面、系统的Python学习指南。

基于Windows11,使用VSCode/Cursor作为Python开发工具

tip

推荐安装扩展:

扩展名称功能描述
Python提供Python语言基础支持,包括语法高亮、代码补全和格式化
Pylance高性能Python语言服务器,提供类型检查和智能提示
Python Debugger支持Python代码的断点调试、变量监控和单步执行
Error Lens直接在代码行内展示错误和警告信息,无需悬停鼠标
Office Viewer在VSCode中直接预览Word、Excel等Office文档
WSLWindows Subsystem for Linux集成,实现Windows与Linux混合开发
Live Server提供本地开发服务器,支持实时预览和自动刷新网页
Remote - SSH通过SSH连接远程服务器,在本地编辑远程文件
SQLite提供SQLite数据库的可视化界面,支持数据浏览和查询
Docker管理Docker容器,支持创建、运行和调试容器化应用
CMake Tools提供CMake项目支持,简化C/C++跨平台构建配置

Python 国内用户多读作“派桑”。是由 Guido van Rossum 在 1989 年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。现在,全世界差不多有 600 多种编程语言,但流行的编程语言也就那么 20 多种。Python 是最流行的编程语言之一。

Python 语言的设计哲学是“优雅”、“明确”、“简单”。Python 开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。为了实现这一哲学,Python 语言致力于让自然语言的语法结构更加清晰明确。Python 语言的这一特点,使得学习 Python 语言非常容易,甚至对于没有编程经验的初学者也能很快上手开发程序。

Python 语言的发展历史可以分为三个时期:

  • Python 1.x: 1994 年发布,这是 Python 语言的早期版本,它包括整数、浮点数、复数、字符串、列表、元组、字典等基本数据类型,以及 if、while、for 等控制语句,但没有函数、模块、类等高级语法。
  • Python 2.x: 2000 年发布,这是 Python 语言的中期版本,它在 1.x 的基础上增加了函数、模块、类等高级语法,但是保留了 1.x 版本的许多不合理的语法,所以 Python 2.x 版本有“坑人”的嫌疑。
  • Python 3.x: 2008 年发布,这是 Python 语言的最新版本,它在 2.x 的基础上修复了许多已知的问题,并且还简化了语法,使得 Python 语言更加优雅。目前提到Python,默认指的是Python 3。

Python 语言的应用领域非常广泛,主要有以下几个方面:

  • 网络爬虫: Python 语言可以模拟浏览器,并且可以使用正则表达式等工具来提取网页中的信息。
  • 数据分析: Python 语言可以使用 NumPy、SciPy、Pandas、Matplotlib 等工具来进行数据分析。
  • 人工智能: Python 语言可以使用 TensorFlow、PyTorch 等工具来进行人工智能开发。
  • Web 开发: Python 语言可以使用 Django、Flask 等框架来进行 Web 开发。

在生活中,人们使用汉语、英语、法语、德语、日语等不同的语言跟不同国家的人进行交流。在使用计算机时,人们不能直接使用英语等人类的语言和计算机交流,而是使用编程语言(Programming Language)将人们的想法编写成程序,再通过执行程序控制计算机去解决各种问题。我们将这个编程语言与计算机之间的“翻译员”称为编程环境,简称“环境”。

我们可能会需要多个环境(例如:python3.9)去复现别人论文的代码,另一方面我们又需要一个最新的python 环境去开发新的代码。 这就导致了一个问题,如何管理这些依赖,如何保证不同的模块库之间的兼容性,如何保证不同的模块库之间的可复用性。

常见的部分主流方案如下:

特性venvuvcondadocker
支持不同大版本Python环境❌ 仅限创建环境时的Python版本⚠️ 依赖系统已安装的Python版本✅ 可在同一系统上创建不同Python版本环境✅ 可创建任意版本Python的容器
管理外部依赖(如cuda)❌ 只能管理Python包❌ 专注于Python包管理✅ 可管理cuda等非Python依赖✅ 完全控制所有系统和应用依赖
跨平台支持⚠️ 环境不可直接迁移到不同操作系统⚠️ 配置可跨平台但环境需重建✅ 可使用相同配置文件在不同系统创建环境✅ 容器可在任何支持Docker的平台运行
适用场景简单的Python项目开发需要快速安装依赖的项目数据科学和深度学习项目需要完全一致环境的生产部署
体积和资源消耗轻量级轻量级中等较大

这里我建议先使用传统的单环境开发,后续需要迁移环境时,再使用conda或者docker

推荐阅读