查看全课大纲(第 1 / 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 是什么?为什么值得学?

约 5 分钟

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

欢迎来到《Python 编程从入门到实践》的第一课。本节是整门课程的起点,我们只回答一个问题:Python 是一门什么样的语言,它凭什么值得学。理解这些特点,能帮你在后续写代码时明白自己正在使用什么工具。环境安装放在下一节,本节先把“是什么”和“能做什么”讲清楚。

💡 核心导读

  • 核心定位:Python 是一种面向对象的解释型编程语言。
  • 执行方式:代码先转成中间代码,再由解释器执行,不需要像 C 那样先编译出可执行文件。
  • 生态优势:内置库和第三方库丰富,通过 import 就能复用别人的实现。
  • 语言风格:语法简洁灵活、开源、跨平台。
  • 应用场景:数据分析与人工智能、网络爬虫、自动化运维。

Python 的核心特点

Python 是一种面向对象的解释型编程语言。理解这两个关键词,是理解 Python 的基础。

面向对象意味着 Python 支持用“对象”来组织代码和数据,这是一种强大的编程范式,我们会在后续章节深入学习。

解释型是 Python 区别于 C 等编译型语言的关键。它的执行过程可以概括为:

  1. 你编写 Python 代码(.py 文件)。
  2. 运行程序时,Python 先把代码转换成中间代码。
  3. 再由解释器执行这些中间代码,完成你定义的逻辑。

C 语言的过程不同:先用编译器把源代码一次性编译成机器代码,再放到目标机器上执行。Python 省去了显式的编译步骤,写完代码后执行 python 文件名.py 就能运行。

带来的优势与局限:

  • 优势(便捷性):开发流程简化,不用等待编译,改完代码可以直接再运行。运维等需要快速写脚本的领域因此大量使用 Python。
  • 局限(性能):多了中间代码和解释执行这一层,运行速度通常不如直接编译成机器代码的语言。对性能要求非常高的领域,Python 可能并不适用。

强大的库生态

Python 的另一个显著优势是其极其丰富的内置库和第三方库。

一个软件系统的功能往往很复杂,如果从零开始开发,人力和精力投入都会非常大。但世界上很多角落的人可能与我们有着相同或类似的需求,他们用 Python 实现了这些功能并开放出来,我们就可以直接使用。比如在机器学习领域,几乎最主流的算法都有人用 Python 实现并开放。

在 Python 里,通过 import 这样的操作,就能把别人实现好的功能库引入自己的程序,直接调用,从而大大减少开发投入。

语法简洁与跨平台

语法简洁灵活是 Python 的设计哲学之一。它使用清晰的缩进来定义代码块,避免了繁琐的大括号,使代码可读性很高。在后续课程中,你会不断体会到这种“用更少的代码做更多事”的风格。

Python 还是一个开源、跨平台的语言。

  • 开源意味着其源代码公开,并且有一个活跃的开源社区持续维护,使这门语言能够不断发展,充满生命力。
  • 跨平台意味着同一份 Python 代码可以在 Windows、Linux 等不同操作系统上运行,为协作和部署带来便利。

Python 能做什么?

Python 的应用场景非常多。

  1. 数据分析与人工智能:这是现今比较火热的两个领域。Python 可以把数据用更友好的可视化图样展示出来,让人直观地看出数据的特点,例如分布是否接近正态分布、不同维度之间是否近似线性关系。这些直观的图样能为后续更有目的的数据探索提供明确指示。
  2. 网络爬虫:Python 有一些开源的网络爬虫库。当我们需要从互联网上抓取信息时,可以调用这些库完成目标。
  3. 自动化运维:这是一个更传统、也更古老的使用场景。Python 语法简便,其他语言需要很长一段逻辑才能实现的网络操作、文件操作,在 Python 里几句话就能完成。因此运维工程师很喜欢用它来完成日常的机器管理。

下一节:把环境装起来

本节只讲 Python 的特点。下一节会在本机安装 Python 环境,让这些特点真正跑起来。

📝 动手练一练

题目:不看讲义,用自己的话回答两个问题:

  1. 为什么 Python 写完代码就能直接运行,而 C 语言通常要先编译?
  2. 解释执行带来了什么便利,又付出了什么代价?
👉 点击查看参考答案
  1. Python 是解释型语言:运行 python 文件名.py 时,Python 先把代码转成中间代码,再由解释器执行这些中间代码,所以不需要用户先手动编译。C 是编译型语言,要先用编译器把源代码编译成机器代码,再执行生成的程序。
  2. 便利是省掉显式编译步骤,改完代码就能再次运行,适合快速开发和脚本化任务;代价是多了解释执行这一层,运行速度通常不如编译型语言。

常见错误

错误写法 / 操作现象或报错原因正确写法 / 操作
写完 .py 后到处找“编译”按钮,期待生成 .exe找不到对应的编译产物,不知道如何运行Python 是解释型语言,由解释器读取代码并执行,不需要先编译成独立可执行文件在终端执行 python 文件名.py,让解释器直接运行
认为“解释型”就是代码完全不经过任何转换对执行过程理解错误,遇到报错时无法判断问题出在哪一层Python 会先把代码转换成中间代码,再由解释器执行中间代码把执行过程记成“代码 → 中间代码 → 解释器执行”三步
因为 Python 速度不如 C,就认为它不能用于实际项目技术选型偏差,错过合适的工具解释执行确实带来性能代价,但 Python 开发效率高,且在运维、数据分析等大量场景中广泛使用按场景权衡:需要快速开发和脚本化时用 Python;对性能要求极高的部分再考虑其他语言

小结

  1. Python 是一种面向对象的解释型编程语言,语法简洁,代码可读性高。
  2. 执行过程是“代码 → 中间代码 → 解释器执行”,不需要像 C 语言那样先编译。
  3. 解释执行带来开发便捷,但运行速度通常不及编译型语言。
  4. Python 拥有强大的库生态(内置库+第三方库),通过 import 即可调用,能减少开发投入。
  5. Python 是开源、跨平台的,有活跃社区持续维护。
  6. 主要应用领域包括数据分析与人工智能、网络爬虫、自动化运维。

📋 行动清单

  • 用一句话复述 Python 的执行过程:代码 → 中间代码 → 解释器执行。
  • 说出三个 Python 的典型应用场景,并各举一个你身边可能用到的例子。
  • 想一想:如果你要写一个每天自动整理文件的小脚本,Python 的哪个特点最吸引你?

—— 小象教研组