查看全课大纲(第 3 / 51 节)
  1. 1.Python 是什么?为什么值得学?
  2. 2.如何为 Python 编程准备一个“全家桶”环境?
  3. 3.Python 有哪几种执行方法?
  4. 4.行与缩进到底有什么用?
  5. 5.注释有什么用,怎么写?
  6. 6.变量:如何给数据起个好名字?
  7. 7.运算符的优先级和常见坑点是什么?
  8. 8.Python 中,数字和布尔值究竟有哪几种?
  9. 9.输入函数 `input()` 和文件读取 `open()` 怎么用?
  10. 10.如何将程序的结果展示给用户或保存下来?
  11. 11.CSV 文件怎么读怎么写才方便?
  12. 12.列表是什么,如何创建和访问它?
  13. 13.列表的修改操作,有哪些方法?
  14. 14.列表切片为什么能取到部分元素?排序和查找又该怎么用?
  15. 15.判断语句:如何让程序根据条件做不同的事?
  16. 16.for 循环如何遍历序列中的元素?
  17. 17.while 循环什么时候才会停?
  18. 18.while 循环的结束条件,你写对了吗?
  19. 19.循环中途想提前结束,怎么办?
  20. 20.`break` 和 `continue` 到底有什么区别?
  21. 21.列表推导式如何让代码更简洁高效?
  22. 22.字符串怎么定义、拼接和操作?
  23. 23.元组:为什么定义单个元素时要加逗号?
  24. 24.集合(set)怎么用?如何快速去重和做集合运算?
  25. 25.字典是什么,为什么比列表更方便?
  26. 26.字典的增删改查与遍历,如何避免 KeyError?
  27. 27.函数里的变量,为什么有的能用有的不能用?
  28. 28.在函数内部修改全局变量,为什么有时不生效?
  29. 29.函数里能修改全局变量吗?返回值怎么用?
  30. 30.匿名函数:如何用 lambda 快速定义简单函数?
  31. 31.面向对象编程是什么,为什么需要它?
  32. 32.类中的方法和属性到底怎么定义和使用?
  33. 33.如何控制对对象内部属性和方法的访问?
  34. 34.异常发生时,程序会怎样继续执行?
  35. 35.如何组织代码:包和模块
  36. 36.`if __name__ == '__main__'` 到底有什么用?
  37. 37.如何用 IDE 的 Debug 功能排查程序错误?
  38. 38.Matplotlib 绘图的第一步该做什么?
  39. 39.Figure 是什么,如何设置图形尺寸?
  40. 40.如何自定义 Matplotlib 的坐标轴?
  41. 41.如何为图表添加图例,让不同曲线一目了然?
  42. 42.饼图怎么画才能直观展示数据占比?
  43. 43.如何用 Matplotlib 绘制散点图?
  44. 44.柱状图怎么画?
  45. 45.如何使用 Matplotlib 绘制等高线图?
  46. 46.如何在 Matplotlib 中绘制子图?
  47. 47.zip 函数如何把多个列表“打包”在一起?
  48. 48.如何给可迭代对象加上索引?
  49. 49.random 模块如何生成随机数?
  50. 50.math 模块怎么用?
  51. 51.Counter 如何快速统计元素出现次数?

Python 有哪几种执行方法?

约 13 分钟

小象实战讲义 · Python 编程从入门到实践

学习 Python 编程,第一步就是让代码“跑”起来。本节课将带你了解 Python 代码的三种主要执行方式:命令行执行、IDE 执行和 Jupyter Notebook 执行。你将学会如何选择合适的方式运行你的第一个 Python 程序,并理解它们背后的基本流程。这是你后续所有章节学习的基础,因为无论学习什么语法,最终都要通过执行来验证。

💡 核心导读

  • 命令行执行:最基础、最直接的方式,通过终端命令 python 文件名.py 运行。
  • IDE 执行:在集成开发环境中编写并一键运行,适合项目开发。
  • Jupyter Notebook 执行:以网页形式交互式编写和运行代码,即时查看结果,适合数据分析和学习。
  • 核心区别:命令行和 IDE 通常执行整个 .py 文件;Jupyter Notebook 则以“单元格”为单位交互执行。
  • 文件扩展名:注意 .py 文件与 .ipynb 文件的区别。

命令行执行:最原始的命令

命令行执行是 Python 最基础、最通用的执行方式。它不依赖任何图形界面工具,直接在操作系统的终端(Windows 的 CMD/PowerShell,macOS/Linux 的 Terminal)中输入命令来运行 Python 脚本。

怎么用?

  1. 编写脚本:首先,你需要一个包含 Python 代码的文本文件,并以 .py 作为扩展名。例如,创建一个 hello.py 文件。
  2. 打开终端:打开你操作系统自带的命令行工具。
  3. 切换目录:使用 cd 命令,将终端的当前工作目录切换到你的 .py 文件所在的文件夹。
  4. 执行命令:输入 python 文件名.py 并按回车。
# 文件内容:hello.py
print("Hello, World from Command Line!")
# 在终端中执行(假设文件在桌面)
cd Desktop
python hello.py
Hello, World from Command Line!

执行流程简述: 当你输入 python hello.py 后,Python 会把文件中的代码转换成中间代码,再由解释器执行,最终将结果输出到终端屏幕上。

IDE 执行:一键运行的便利

IDE(Integrated Development Environment,集成开发环境)把编写代码和运行代码所需的工具集成在一个图形化软件中。常见的 Python IDE 有 Spyder(Anaconda 自带)和 PyCharm 等。

怎么用?

  1. 打开/创建项目:在 IDE 中打开一个文件夹或创建一个新项目。
  2. 编写代码:在 IDE 的编辑器中编写 Python 代码。
  3. 运行代码:通常点击界面上的“运行”按钮。
  4. 查看结果:运行结果会显示在 IDE 的执行结果区域中。
# 在 IDE 的编辑器中输入
print("Hello, World from IDE!")
Hello, World from IDE!

核心优势:

  • 集成度高:写代码和执行结果都在同一个界面里,不用来回切换工具。
  • 管理方便:易于管理包含多个文件的项目。
  • 一键运行:点击按钮即可执行,无需手动切换目录和输入命令。

Jupyter Notebook:交互式分析与学习

Jupyter Notebook 是一种基于 Web 的交互式计算环境。它将代码、文本说明、公式、图表等全部整合在一个文档(.ipynb 文件)中,并且允许你以“单元格”为单位单独执行代码,即时看到结果,适合边写代码边看结果的交互式使用。

工作流程:浏览器(如 Chrome、Firefox)通过 HTTP 或 WebSocket 把你提交的代码发送给 Notebook Server;Notebook Server 再交给 Kernel 执行;执行结果由 Server 返回,最终显示在网页上。

怎么启动与使用?

  1. 启动服务:在终端中,切换到你的工作目录,然后输入 jupyter notebook 并回车。
  2. 访问页面:浏览器会自动打开(或手动访问提示的地址,通常是 http://localhost:8888),显示 Jupyter 的“Home”页面,列出了当前目录下的文件和文件夹。
  3. 创建 Notebook:点击“New” -> “Python 3”,创建一个新的 Notebook。
  4. 编写与运行:
    • 在出现的“单元格”中输入代码。
    • 按 Shift + Enter 或点击工具栏的“Run”按钮执行当前单元格。
    • 执行结果会直接显示在单元格下方。
  5. 保存:Notebook 会自动保存,你也可以点击保存图标手动保存。文件扩展名为 .ipynb。
# 在 Jupyter Notebook 的第一个单元格中输入
print("Hello, World from Jupyter!")
Hello, World from Jupyter!
# 在下一个单元格中,可以进行交互式计算
result = 2 + 3 * 4
print("2 + 3 * 4 = {}".format(result))
2 + 3 * 4 = 14

重要概念与边界:

  • .py 文件在 Jupyter 中:你可以在 Jupyter 页面里打开 .py 文件查看代码,但不能像 Notebook 单元格那样以交互方式执行它。
  • Home 目录:Jupyter Notebook 启动时所在的目录就是它的“Home”页面根目录。你只能通过网页界面访问这个目录及其子目录下的文件。如果需要操作其他位置的 .ipynb 文件,必须在启动 jupyter notebook 命令前,先用 cd 命令切换到那个目录。
  • 历史名称:Jupyter Notebook 的前身叫做 IPython Notebook,因此文件扩展名 .ipynb 就是 “IPython Notebook” 的缩写。后来它不再只支持 Python,还支持 R、Julia 等语言,于是更名为 Jupyter Notebook。

📝 动手练一练

  1. 路径问题:如果你在 D:\MyProjects 目录下有一个 script.py 文件,但在 C:\Users\YourName 目录下打开终端并直接输入 python script.py,会发生什么?尝试解释原因。
👉 点击查看参考答案

思路:Python 解释器会在当前终端的工作目录下寻找 script.py 文件。如果文件不在当前目录,解释器会报错,提示找不到文件。

正确做法:需要先用 cd 命令切换到文件所在的目录,再执行。

# 假设终端初始在 C:\Users\YourName
cd /d D:\MyProjects  # 切换到脚本所在目录
python script.py     # 此时才能正确执行

如果直接执行 python D:\MyProjects\script.py(使用文件的绝对路径),也可以成功。

  1. 执行方式选择:对于以下场景,你认为哪种 Python 执行方式最合适?为什么?
    • A. 快速测试一小段新学的语法。
    • B. 开发一个包含多个模块的完整应用程序。
    • C. 进行数据分析,需要一边写代码一边看到图表,并记录分析步骤。
👉 点击查看参考答案

思路:根据三种方式的特点进行匹配。

  • A. 快速测试语法:适合使用 Jupyter Notebook。因为可以分单元格执行,立即看到结果,无需创建和保存多个 .py 测试文件。
  • B. 开发完整应用程序:适合使用 IDE(如 PyCharm、Spyder)。因为 IDE 提供项目结构管理、代码导航和调试工具,适合大型、长期的项目开发。
  • C. 交互式数据分析:最适合使用 Jupyter Notebook。它把代码执行、可视化输出(图表直接嵌入)和说明文字(Markdown)放在同一个文档里,便于记录分析步骤。

常见错误

错误写法 / 现象报错信息示例原因正确写法
在终端直接输入 python test.py,但文件不在当前目录python: can't open file 'test.py': [Errno 2] No such file or directoryPython 解释器在当前工作目录找不到指定的文件。1. 先用 cd 命令切换到文件所在目录。
2. 或使用文件的绝对路径:python /完整路径/test.py。
在 Jupyter 中无法找到或打开其他磁盘的 .ipynb 文件在 Jupyter Home 页面看不到目标文件。Jupyter 启动后,其“Home”页面根目录就是启动命令 jupyter notebook 时所在的终端目录。无法访问该目录以外的文件。在启动 jupyter notebook 前,先在终端中用 cd 命令切换到你的目标工作目录。

小结

  1. Python 代码主要通过命令行、IDE和Jupyter Notebook三种方式执行。
  2. 命令行执行是最通用的方式,命令为 python 文件名.py,关键在于确保终端当前目录与文件所在目录一致。
  3. IDE执行提供了集成的开发环境,适合项目开发和调试,通常通过图形按钮或快捷键运行。
  4. Jupyter Notebook 提供了基于 Web 的交互式编程环境,以单元格为单位执行代码,结果即时显示,文件扩展名为 .ipynb。
  5. .ipynb 文件会把 Notebook 里写的代码和交互执行的记录一起保存下来,文件名来自 Notebook 的标题。
  6. Jupyter 的访问范围受限于启动它时的终端工作目录。

📋 行动清单

  • 在桌面创建一个 hello.py 文件,写入 print("你好"),尝试用命令行方式执行它。
  • 如果你安装了 Anaconda,尝试启动 Spyder 或通过 jupyter notebook 命令启动 Jupyter,并创建一个新的 Notebook,输入 print(5*5) 并运行。
  • 思考并回答:如果你想用 Jupyter 打开“文档”文件夹里的一个笔记本,在终端里应该先输入什么命令?

—— 小象教研组