Python编程入门与环境搭建
立即解锁
发布时间: 2025-08-29 10:27:47 阅读量: 10 订阅数: 14 

# Python 编程入门与环境搭建
## 1. 前期准备
### 1.1 代码示例获取
可以从 [这里](http://www.deitel.com) 下载包含示例的 `examples.zip` 文件。点击“Download Examples”链接将文件保存到本地计算机,大多数浏览器会将文件保存到用户账户的“Downloads”文件夹。下载完成后,将其中的 `examples` 文件夹提取到用户账户的“Documents”文件夹:
- Windows:`C:\Users\YourAccount\Documents\examples`
- macOS 或 Linux:`~/Documents/examples`
大多数操作系统都有内置的提取工具,也可以使用 7 - Zip([www.7 - zip.org](www.7 - zip.org))或 WinZip([www.winzip.com](www.winzip.com))等归档工具。
### 1.2 示例文件夹结构
会执行三种类型的示例:
- 单个代码片段:在 IPython 交互式环境中执行。
- 完整应用程序:即脚本。
- Jupyter Notebooks:基于浏览器的交互式环境,可编写和执行代码,并将代码与文本、图像和视频混合。
`examples` 文件夹每个章节都有一个子文件夹,命名为 `ch##`,其中 `##` 是 01 到 16 的两位数章节编号,例如 `ch01`。除第 13、15 和 16 章外,每个章节的文件夹包含以下内容:
| 文件夹 | 内容 |
| ---- | ---- |
| `snippets_ipynb` | 包含该章节的 Jupyter Notebook 文件 |
| `snippets_py` | 包含 Python 源代码文件,每个代码片段之间用空行分隔,可复制粘贴到 IPython 或新创建的 Jupyter Notebook 中 |
| 脚本文件及其支持文件 | 完整的应用程序脚本和相关支持文件 |
第 13 章包含一个应用程序,第 15 和 16 章会分别说明在 `ch15` 和 `ch16` 文件夹中所需文件的位置。
### 1.3 安装 Anaconda
使用易于安装的 Anaconda Python 发行版,它包含了处理示例所需的几乎所有内容:
- IPython 解释器
- 大多数使用的 Python 和数据科学库
- 本地 Jupyter Notebooks 服务器,可加载和执行笔记本
- 各种其他软件包,如 Spyder 集成开发环境(IDE),但只使用 IPython 和 Jupyter Notebooks
从 [https://www.anaconda.com/download/](https://www.anaconda.com/download/) 下载适用于 Windows、macOS 或 Linux 的 Python 3.x Anaconda 安装程序。下载完成后,运行安装程序并按照屏幕上的说明进行操作。为确保 Anaconda 正常运行,安装后不要移动其文件。
### 1.4 更新 Anaconda
接下来,确保 Anaconda 是最新的。根据不同操作系统打开命令行窗口:
- macOS:从“Applications”文件夹的“Utilities”子文件夹中打开“Terminal”。
- Windows:从开始菜单中打开“Anaconda Prompt”。更新 Anaconda 或安装新包时,右键单击“Anaconda Prompt”,选择“More > Run as administrator”以管理员身份运行。如果在开始菜单中找不到“Anaconda Prompt”,可在屏幕底部的搜索框中搜索。
- Linux:打开系统的“Terminal”或 shell(因 Linux 发行版而异)。
在命令行窗口中执行以下命令将 Anaconda 安装的包更新到最新版本:
```bash
conda update conda
conda update --all
```
### 1.5 包管理器
上述使用的 `conda` 命令调用了 `conda` 包管理器,这是两个关键的 Python 包管理器之一,另一个是 `pip`。包包含安装给定 Python 库或工具所需的文件。通常使用 `conda` 安装额外的包,除非这些包无法通过 `conda` 获得,此时使用 `pip`。有些人更喜欢只使用 `pip`,因为它目前支持更多的包。如果使用 `conda` 安装包时遇到问题,可以尝试使用 `pip`。
### 1.6 安装 Prospector 静态代码分析工具
可以使用 Prospector 分析工具来检查 Python 代码中的常见错误并帮助改进代码。在命令行窗口中运行以下命令安装 Prospector 及其使用的 Python 库:
```bash
pip install prospector
```
### 1.7 安装 jupyter - matplotlib
使用名为 Matplotlib 的可视化库实现了几个动画,要在 Jupyter Notebooks 中使用它们,必须安装 `ipympl` 工具。在之前打开的“Terminal”、“Anaconda Command Prompt”或 shell 中,一次执行以下命令:
```bash
conda install -c conda - forge ipympl
conda install nodejs
jupyter labextension install @jupyter - widgets/jupyterlab - manager
jupyter labextension install jupyter - matplotlib
```
### 1.8 安装其他包
Anaconda 自带约 300 个流行的 Python 和数据科学包,如 NumPy、Matplotlib、pandas、Regex、BeautifulSoup、requests、Bokeh、SciPy、SciKit - Learn、Seaborn、Spacy、sqlite、statsmodels 等。在学习过程中需要安装的额外包数量较少,必要时会提供安装说明。发现新包时,其文档会说明如何安装。
### 1.9 获取 Twitter 开发者账户
如果打算使用相关的 Twitter 数据挖掘示例,需要申请 Twitter 开发者账户。Twitter 现在要求注册才能访问其 API。在 [https://developer.twitter.com/en/apply - for - access](https://developer.twitter.com/en/apply - for - access) 填写并提交申请。Twitter 会审核每个申请,个人开发者账户通常会立即批准,公司账户申请可能需要几天到几周时间,且不保证批准。
### 1.10 网络连接要求
在学习过程中,需要网络连接来安装各种额外的 Python 库。在某些情况下,需要注册基于云的服务账户,大多数是使用其免费层。有些服务需要信用卡来验证身份,少数服务不是免费的,但可以利用供应商提供的货币信用额度免费试用。注意:一些基于云的服务在设置后会产生费用,完成相关案例研究后,务必及时删除分配的资源。
### 1.11 程序输出的细微差异
执行示例时,可能会注意到显示的结果与自己的结果之间存在一些差异:
- 由于不同操作系统对浮点数(如 - 123.45、7.5 或 0.0236937)的计算方式不同,输出可能会有细微变化,尤其是小数点右侧的数字。
- 显示在单独窗口中的输出,会裁剪窗口以去除边框。
### 1.12 获取问题解答
可以通过在线论坛与其他 Python 程序员交流并获得问题解答。流行的 Python 和通用编程论坛包括:
- [python - forum.io](python - forum.io)
- [StackOverflow.com](StackOverflow.com)
- [https://www.dreamincode.net/forums/forum/29 - python/](https://www.dreamincode.net/forums/forum/29 - python/)
许多供应商为其工具和库提供论坛,大多数使用的库在 github.com 上管理和维护。一些库维护者通过给定库的 GitHub 页面上的“Issues”标签提供支持。如果在网上找不到问题的答案,可以访问 [http://www.deitel.com](http://www.deitel.com)。
## 2. 计算机与 Python 简介
### 2.1 目标
- 了解计算领域的最新发展。
- 回顾面向对象编程的基础知识。
- 理解 Python 的优势。
- 介绍关键的 Python 和数据科学库。
- 试驾 IPython 解释器的交互式模式以执行 Python 代码。
- 执行一个动画条形图的 Python 脚本。
- 创建并试驾基于浏览器的 Jupyter Notebook 以执行 Python 代码。
- 了解“大数据”有多大以及它增长的速度。
- 阅读一个关于流行移动导航应用的大数据案例研究。
- 介绍人工智能——计算机科学与数据科学的交叉领域。
### 2.2 面向对象编程基础回顾
随着对新的、更强大软件的需求不断飙升,快速、正确且经济地构建软件非常重要。对象,更准确地说是对象所属的类,本质上是可重用的软件组件。几乎任何名词都可以用属性(如名称、颜色和大小)和行为(如计算、移动和通信)合理地表示为软件对象。软件开发团队可以使用模块化、面向对象的设计和实现方法,比早期流行的“结构化编程”技术更高效。面向对象的程序通常更易于理解、修正和修改。
#### 2.2.1 汽车作为对象
以汽车为例,要驾驶汽车并通过踩油门使其加速,首先需要有人设计汽车。汽车通常始于工程图纸,类似于描述房屋设计的蓝图,这些图纸包括油门踏板的设计。油门踏板向驾驶员隐藏了使汽车加速的复杂机制,就像刹车踏板“隐藏”了使汽车减速的机制,方向盘“隐藏”了使汽车转向的机制。这使得几乎没有发动机、制动和转向机制知识的人也能轻松驾驶汽车。
在驾驶汽车之前,必须根据工程图纸制造出实际的汽车。一辆完成的汽车有一个实际的油门踏板,但这还不够,汽车不会自行加速,驾驶员必须踩下踏板才能使汽车加速。
#### 2.2.2 方法和类
在程序中执行任务需要方法,方法包含执行其任务的程序语句,它向用户隐藏这些语句,就像汽车的油门踏板向驾驶员隐藏使汽车加速的机制一样。在 Python 中,一个名为类的程序单元包含执行该类任务的一组方法。例如,代表银行账户的类可能包含一个向账户存款的方法、一个从账户取款的方法和一个查询账户余额的方法。类在概念上类似于汽车的工程图纸,它包含油门踏板、方向盘等的设计。
#### 2.2.3 实例化
就像在驾驶汽车之前必须根据工程图纸制造汽车一样,在程序能够执行类的方法定义的任务之前,必须创建该类的对象。这个过程称为实例化,对象被称为其类的实例。
#### 2.2.4 重用
汽车的工程图纸可以多次重用以制造多辆汽车,同样,类也可以多次重用以创建多个对象。在构建新类和程序时重用现有类可以节省时间和精力,也有助于构建更可靠和有效的系统,因为现有类和组件通常经过了广泛的测试、调试和性能调优。就像可互换零件的概念对工业革命至关重要一样,可重用类对由对象技术推动的软件革命至关重要。在 Python 中,通常使用积木式方法创建程序,尽可能使用现有的高质量组件,这种软件重用是面向对象编程的一个关键优势。
#### 2.2.5 消息和方法调用
驾驶汽车时,踩下油门踏板向汽车发送执行任务的消息,即加速。同样,向对象发送消息,每个消息都作为方法调用实现,告诉对象的方法执行其任务。例如,程序可能调用银行账户对象的存款方法来增加账户余额。
#### 2.2.6 属性和实例变量
汽车除了具有完成任务的能力外,还具有属性,如颜色、车门数量、油箱中的汽油量、当前速度和总行驶里程(即里程表读数)。这些属性在工程图纸中作为设计的一部分表示,就像能力一样。驾驶实际汽车时,这些属性会随车携带,每辆汽车都维护自己的属性。例如,每辆汽车都知道自己油箱中的汽油量,但不知道其他汽车油箱中的汽油量。
对象在程序中使用时也具有属性,这些属性作为对象类的一部分指定。例如,银行账户对象有一个表示账户中金额的余额属性,每个银行账户对象知道自己代表的账户余额,但不知道银行中其他账户的余额。属性由类的实例变量指定,类(及其对象)的属性和方法密切相关,因此类将它们的属性和方法封装在一起。
#### 2.2.7 继承
可以通过继承方便地创建新的对象类,新类(称为子类)从现有类(称为超类)的特征开始,可能会添加或修改一些特征。
### 2.3 后续展望
现在已经为学习 Python 编程做好了准备,希望在学习过程中能够享受其中的乐趣,深入探索 Python 编程的世界,利用所学知识解决各种实际问题。
## 3. Python 的魅力与实践操作
### 3.1 Python 的优势
Python 是世界上最广泛使用的计算机编程语言之一,根据 Popularity of Programming Languages (PYPL) Index,它还是世界上最受欢迎的编程语言。Python 具有诸多优势,它能让开发者使用现有的高质量组件,采用积木式方法创建程序,避免重复造轮子,实现软件重用,这是面向对象编程的关键优势。而且面向对象的 Python 程序通常更易于理解、修正和修改,能帮助软件开发团队更高效地工作。
### 3.2 关键库介绍
#### 3.2.1 Python 标准库
Python 标准库为开发者提供了丰富的功能支持,是 Python 编程的重要基础。它涵盖了各种常用的模块和工具,能帮助开发者快速实现许多基本功能,提高开发效率。
#### 3.2.2 数据科学库
在数据科学领域,Python 拥有众多强大的库,如 NumPy、Matplotlib、pandas、Regex、BeautifulSoup、requests、Bokeh、SciPy、SciKit - Learn、Seaborn、Spacy、sqlite、statsmodels 等。这些库为数据处理、分析、可视化等任务提供了有力的支持,使得 Python 在数据科学领域得到了广泛应用。
### 3.3 实践操作
#### 3.3.1 IPython 交互式模式试驾
IPython 解释器的交互式模式就像一个强大的计算器,可以立即执行 Python 指令并看到结果。以下是一个简单的示例:
```python
# 在 IPython 中执行简单的数学运算
result = 2 + 3
print(result)
```
操作步骤如下:
1. 打开之前安装好的 Anaconda Prompt(Windows)或 Terminal(macOS、Linux)。
2. 输入 `ipython` 并回车,进入 IPython 交互式环境。
3. 在 IPython 环境中输入上述代码并回车,即可看到计算结果。
#### 3.3.2 执行 Python 脚本
可以执行一个动画条形图的 Python 脚本,在这个过程中能看到“大数定律”的实际应用。以下是执行脚本的步骤:
1. 确保已经从指定链接下载并解压了示例文件到相应的文件夹。
2. 打开命令行窗口(根据不同操作系统选择合适的方式,如前面更新 Anaconda 时介绍的方法)。
3. 使用 `cd` 命令切换到包含脚本的文件夹,例如:
```bash
cd C:\Users\YourAccount\Documents\examples\ch01
```
4. 执行脚本,假设脚本名为 `bar_chart_animation.py`,则输入:
```bash
python bar_chart_animation.py
```
#### 3.3.3 创建并试驾 Jupyter Notebook
Jupyter Notebook 是一个基于浏览器的交互式环境,非常适合编写和执行 Python 代码,还能将代码与文本、图像和视频混合。创建和使用 Jupyter Notebook 的步骤如下:
1. 打开命令行窗口,输入 `jupyter notebook` 并回车。
2. 浏览器会自动打开 Jupyter Notebook 的界面,在界面中点击“New”按钮,选择“Python 3”创建一个新的 Notebook。
3. 在 Notebook 的单元格中输入 Python 代码,例如:
```python
# 在 Jupyter Notebook 中输出 Hello, World!
print("Hello, World!")
```
4. 按下 `Shift + Enter` 组合键执行单元格中的代码,即可看到输出结果。
### 3.4 云计算与物联网
#### 3.4.1 云计算
云计算为现代应用程序的开发和运行提供了强大的支持,使得应用程序可以通过互联网在全球数十亿台计算机之间进行通信。开发者可以利用云计算的资源,无需在本地部署大量的硬件设备,就能实现大规模的数据处理和存储。
#### 3.4.2 物联网
物联网将各种设备连接到互联网,实现设备之间的互联互通和数据交换。在未来的应用开发中,物联网技术将发挥越来越重要的作用,为人们的生活和工作带来更多的便利。
### 3.5 大数据的奥秘
#### 3.5.1 大数据的规模
大数据的规模非常庞大,并且还在以极快的速度增长。它包含了来自各种渠道的海量数据,如社交媒体、传感器、移动设备等。
#### 3.5.2 大数据分析
大数据分析是从海量数据中提取有价值信息的过程。通过使用各种数据分析工具和技术,如 Python 中的数据科学库,可以发现数据中的模式、趋势和关联,为决策提供支持。
#### 3.5.3 大数据的应用案例
以 Waze 移动导航应用为例,它利用大数据和多种当前技术,为用户提供动态的驾驶路线,帮助用户快速、安全地到达目的地。在这个过程中,涉及到数据的收集、处理、分析和可视化等多个环节,Python 在其中发挥了重要作用。
### 3.6 人工智能——计算机科学与数据科学的交叉领域
人工智能是计算机科学与数据科学的重要交叉领域,它涉及到机器学习、深度学习、自然语言处理等多个方面。Python 凭借其丰富的库和简洁的语法,成为了人工智能开发的首选语言。例如,使用 SciKit - Learn 库可以实现简单的机器学习算法,使用 TensorFlow 或 PyTorch 可以进行深度学习模型的开发。
### 3.7 总结与建议
现在已经对 Python 编程有了初步的了解,并且完成了一些基本的实践操作。在后续的学习过程中,建议多动手实践,尝试使用不同的库和工具解决实际问题。遇到问题时,可以通过在线论坛与其他 Python 程序员交流,获取帮助。同时,要注意代码的规范性和可读性,养成良好的编程习惯。希望在 Python 编程的学习中不断进步,取得更好的成果。
下面是一个简单的 mermaid 流程图,展示了从安装环境到运行 Python 脚本的主要步骤:
```mermaid
graph LR
A[安装 Anaconda] --> B[更新 Anaconda]
B --> C[安装必要的包]
C --> D[下载并解压示例文件]
D --> E[执行 IPython 交互式代码]
D --> F[执行 Python 脚本]
D --> G[创建并使用 Jupyter Notebook]
```
同时,为了方便回顾,这里列出了一些关键操作和对应的命令:
| 操作 | 命令 |
| ---- | ---- |
| 更新 Anaconda | `conda update conda` <br> `conda update --all` |
| 安装 Prospector | `pip install prospector` |
| 安装 jupyter - matplotlib 相关 | `conda install -c conda - forge ipympl` <br> `conda install nodejs` <br> `jupyter labextension install @jupyter - widgets/jupyterlab - manager` <br> `jupyter labextension install jupyter - matplotlib` |
| 执行 Python 脚本 | `python script_name.py` |
| 启动 Jupyter Notebook | `jupyter notebook` |
通过以上的学习和实践,相信你已经对 Python 编程有了更深入的认识,现在可以继续深入探索 Python 的世界,开启更多有趣的编程之旅!
0
0
复制全文
相关推荐









