Chapter 2 Python 简介与环境安装
注意,本讲撰写于 Python 3.11.3@Windows, Python 3.11.3@MacOS, Python 3.11.3@Linux,可能会和授课时的版本有所不同,但是基本的语法几乎不会有变化。
2.1 简介
开源程序界总会流传着一些传说,比如 Linux 之父 Linus Torvalds 在卧室一天开发出版本控制软件 git 的核心功能(self-hosting,即用 git 提交 git 代码)。当然 Python 也不例外。1989 年的圣诞节,Python 之父 Guido van Rossum 很是无聊,于是他决定开发一个新的脚本语言,用来取代 ABC 语言。van Rossum 于 1991 年发布了 Python 第一个版本,也就是说到 Python 都已经到了三十而立的年纪了。有关 Python 的不同版本及其之间的关系,以及为什么我们这门课选择 Python 3.11,会在之后的章节展开描述。
2.1.1 Life is short, you need Python!

大家可能或多或少会在各个地方(朋友圈广告,网络培训班,甚至视频分享平台等等)听到过这句话:人生苦短,我用 Python(其实英文原文是 “Life is short, you need Python.”)。这句话的意思是,Python 是一门非常简单易学的编程语言,可以让你在短时间内完成一些复杂的任务。这一节采用这句名言也是希望大家能够在学习 Python 过程中,能够感受到 Python 的简单易学,以及 Python 语言的强大。
2.1.1.1 解释性
如果大家撰写过 C 语言、C++ 语言等,会发现与这些语言不同的是,Python 语言在运行时完全不需要编译,只需要将源代码保存为 .py 文件,然后用 Python 解释器执行即可。这样做的好处是,可以快速迭代代码,而不用每次修改代码后都编译一次。这也是 Python 语言的一个特点,即开发效率高。
2.1.1.2 动态类型
在 C 语言中,你可能见过这样的代码:
而 Python 语言是一门动态类型语言,这意味着你不需要在代码中声明变量的类型,Python 解释器会自动推断变量的类型。这样做的好处是,可以让代码更加简洁,而不用每次声明变量的类型。比如:
这也是 Python 语言的一个特点,即代码简洁。
2.1.1.3 面向对象
首先,要先解释一下什么叫面向过程与面向对象。面向过程是一种编程范式,即将程序看作一系列的函数调用。比如现在有这样的一个问题:计算 1 到 100 的和。而面向对象是另一种编程范式,即将程序看作一系列的对象调用。面向对象的好处是,可以将程序的复杂度降低,让程序更加易于维护。如果用面向过程的编程范式来解决,可能会写出这样的代码:
而如果用面向对象的编程范式来解决,可能会写出这样的代码:
class Sum:
def __init__(self, n):
self.n = n
def sum(self):
s = 0
for i in range(1, self.n + 1):
s += i
return s
print(Sum(100).sum())
这些代码看不懂并没有关系,我们以后还会提到并进行讲解。Python 语言是一门面向对象的语言,这也是 Python 语言的一个特点,即易于维护。
2.1.2 版本迭代
对于 Python 的版本而言,以 Python x.y.z 为例,大家的共识是 x 代表主版本号,y 代表大版本号(major version),z 代表小版本号(minor version)。
2.1.2.1 大版本号
Python 2.0 版本于 2000 年发布,Python 3.0 版本于 2008 年发布。由于这两个版本各自带来了全新的特性,也成为了 Python 语言的分水岭。Python 2.x 版本于 2020 年停止维护(Python 2.7.18),但是 Python 2.x 版本仍然有很多应用,比如一些老的项目,或者一些不得不兼容 Python 2.x 的第三方库(典型的是 ESRI 的 ArcGIS,仍然在使用 Python 2.7)。
现在市面上主要流行的是 Python 3.x 版本,根据 PEP 602 - Annual Release Cycle for Python 的建议,一个大版本会维护 5 年,从 Python 3.9 开始,每年都会发布一个新的大版本。Python 3.11 版本于 2021 年 10 月发布。

2.2 为什么我会推荐这样的开发环境?
2.2.1 Python 3.11 新特性
Python 3.11 比 Python 3.10 的速度提升了 10%-60%,其他的特性参见 https://docs.python.org/3/whatsnew/3.11.html
2.2.2 Visual Studio Code
Visual Studio Code 是由 Microsoft 开发的一个开源的、跨平台的代码编辑器,它支持多种语言的开发,包括 Python。Visual Studio Code 的主要特点如下:
- 轻量级:Visual Studio Code 的安装包只有 50MB 左右,而且它的运行内存占用也很小(相对于 Spyder @ Anaconda)。
- 开源:Visual Studio Code 是一个开源项目,它的源代码托管在 GitHub 上,这也就意味着它免费(相对于 PyCharm)。
- 跨平台:Visual Studio Code 支持 Windows、macOS 和 Linux 等多种操作系统。
- 插件化:Visual Studio Code 支持插件化,你可以通过安装插件来扩展它的功能。
- 高度可定制:Visual Studio Code 支持高度的可定制性,你可以通过修改配置文件来定制它的行为。
- 快速:Visual Studio Code 的启动速度很快,它的响应速度也很快。
2.3 环境安装
2.3.1 Python
2.3.1.1 Windows
2.3.1.1.1 物理安装法
首先下载 Python 安装包,以 Python 3.11.3 为例,前往 Python 3.11.3 的下载页面就好了。一般来说,64 位系统下载 64 位安装包,32 位系统下载 32 位安装包。对于 64 位的系统来说,下载 Windows installer (64-bit) 就可以了。
下载完成后,双击安装包,按照提示安装即可。注意,安装时一定要勾选 Add Python 3.10 to PATH
选项,这样就可以在任意目录下使用 Python 命令了。比如,我们使用 powershell 等命令行工具,就可以直接输入 python
命令来启动 Python 解释器了,比如:
2.3.1.1.2 包管理器法
本方法只适用于 Windows 10 1709(版本 16299)或更高版本,当然,Windows 11 也可以。
不会吧不会吧,不会还有人不知道 Windows 也有包管理器吧?大家可能多多少少听说过 Chocolatey,它是 Windows 下的包管理器,它可以帮助你安装各种软件,包括 Python。但是我不会推荐 Chocolatey,因为他是第三方的软件。
我在这里会推荐 winget,它是 Windows 官方的包管理器,它可以帮助你安装各种软件,包括 Python。
安装 winget 很容易,在 GitHub 上进入 winget-cli 的发行页面,在最新的发行版本中的 Assets 中点击 Microsoft.DesktopAppInstaller_xxxxxxxx.msixbundle
下载安装即可。
安装完成后,打开命令行工具,输入 winget
,如果出现了 winget 的帮助信息,那么恭喜你,你已经成功安装了 winget。
接下来,我们就可以使用 winget 来安装 Python 了。在 Powershell 中输入
就可以安装最新的 Python 了。但是安装之后还得配置环境变量才行(这就是为什么在物理安装法中必须要 Add Python 3.11 to PATH
选项的原因),接下来是配置环境变量的方法。
2.3.1.2 macOS
实际上,如果你在使用 macOS Monterey 12.3 以上的版本,macOS 会自带一个 Python 3.8.9。我们可以通过在终端中查看 Python 的版本信息:
如果是更早版本的话,还会存在一个 Python 2.7.18。
我们需要使用 Python 3.10 来继续我们的学习。但是不要担心,我们完全没有必要卸载这些 Python 2.7 和 Python 3.8。在实际开发的过程中,多版本 Python 共存是一个很正常的事情。
我们可以通过 Homebrew 来安装 Python 3.10。首先我们来安装 Homebrew,按照 Homebrew 官网的说明,我们可以在终端中运行以下命令:
然后我们就可以通过 Homebrew 来安装 Python 3.10 了:
$ brew install [email protected]
安装完成后,我们可以通过 python3.11
命令来查看 Python 3.11 的版本信息:
以下部分可以不做。
现在电脑里有很多 Python3,但是每次还是:
我们可以通过修改环境变量并重命名来让 python3
命令指向 Python 3.11:
$ echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
$ echo 'alias python3="python3.10"' >> ~/.zshrc
$ source ~/.zshrc
这个时候重新开启一个终端(shell 进程),我们就可以通过 python3
命令来查看 Python 3.10 的版本信息了:
2.3.2 Visual Studio Code
Visual Studio Code 是一个非常好用的代码编辑器,我们可以通过 Visual Studio Code 官网 来下载安装。(点一下就行的那种)
Visual Studio Code 安装好了之后,为了能够使用 Visual Studio Code 来进行 Python 开发,我们需要额外安装几个插件:
- Chinese (Simplified) Language Pack for Visual Studio Code - 用于支持中文
- Python - 用于支持 Python 开发
- Pylance - 用于支持 Python 开发
- Jupyter - 用于支持 Jupyter Notebook