查看全课大纲(第 1 / 51 节)
- 1.Python 是什么?为什么值得学?
- 2.如何为 Python 编程准备一个“全家桶”环境?
- 3.Python 有哪几种执行方法?
- 4.行与缩进到底有什么用?
- 5.注释有什么用,怎么写?
- 6.变量:如何给数据起个好名字?
- 7.运算符的优先级和常见坑点是什么?
- 8.Python 中,数字和布尔值究竟有哪几种?
- 9.输入函数 `input()` 和文件读取 `open()` 怎么用?
- 10.如何将程序的结果展示给用户或保存下来?
- 11.CSV 文件怎么读怎么写才方便?
- 12.列表是什么,如何创建和访问它?
- 13.列表的修改操作,有哪些方法?
- 14.列表切片为什么能取到部分元素?排序和查找又该怎么用?
- 15.判断语句:如何让程序根据条件做不同的事?
- 16.for 循环如何遍历序列中的元素?
- 17.while 循环什么时候才会停?
- 18.while 循环的结束条件,你写对了吗?
- 19.循环中途想提前结束,怎么办?
- 20.`break` 和 `continue` 到底有什么区别?
- 21.列表推导式如何让代码更简洁高效?
- 22.字符串怎么定义、拼接和操作?
- 23.元组:为什么定义单个元素时要加逗号?
- 24.集合(set)怎么用?如何快速去重和做集合运算?
- 25.字典是什么,为什么比列表更方便?
- 26.字典的增删改查与遍历,如何避免 KeyError?
- 27.函数里的变量,为什么有的能用有的不能用?
- 28.在函数内部修改全局变量,为什么有时不生效?
- 29.函数里能修改全局变量吗?返回值怎么用?
- 30.匿名函数:如何用 lambda 快速定义简单函数?
- 31.面向对象编程是什么,为什么需要它?
- 32.类中的方法和属性到底怎么定义和使用?
- 33.如何控制对对象内部属性和方法的访问?
- 34.异常发生时,程序会怎样继续执行?
- 35.如何组织代码:包和模块
- 36.`if __name__ == '__main__'` 到底有什么用?
- 37.如何用 IDE 的 Debug 功能排查程序错误?
- 38.Matplotlib 绘图的第一步该做什么?
- 39.Figure 是什么,如何设置图形尺寸?
- 40.如何自定义 Matplotlib 的坐标轴?
- 41.如何为图表添加图例,让不同曲线一目了然?
- 42.饼图怎么画才能直观展示数据占比?
- 43.如何用 Matplotlib 绘制散点图?
- 44.柱状图怎么画?
- 45.如何使用 Matplotlib 绘制等高线图?
- 46.如何在 Matplotlib 中绘制子图?
- 47.zip 函数如何把多个列表“打包”在一起?
- 48.如何给可迭代对象加上索引?
- 49.random 模块如何生成随机数?
- 50.math 模块怎么用?
- 51.Counter 如何快速统计元素出现次数?
Python 是什么?为什么值得学?
约 5 分钟
小象实战讲义 · Python 编程从入门到实践
欢迎来到《Python 编程从入门到实践》的第一课。本节是整门课程的起点,我们只回答一个问题:Python 是一门什么样的语言,它凭什么值得学。理解这些特点,能帮你在后续写代码时明白自己正在使用什么工具。环境安装放在下一节,本节先把“是什么”和“能做什么”讲清楚。
💡 核心导读
- 核心定位:Python 是一种面向对象的解释型编程语言。
- 执行方式:代码先转成中间代码,再由解释器执行,不需要像 C 那样先编译出可执行文件。
- 生态优势:内置库和第三方库丰富,通过
import就能复用别人的实现。 - 语言风格:语法简洁灵活、开源、跨平台。
- 应用场景:数据分析与人工智能、网络爬虫、自动化运维。
Python 的核心特点
Python 是一种面向对象的解释型编程语言。理解这两个关键词,是理解 Python 的基础。
面向对象意味着 Python 支持用“对象”来组织代码和数据,这是一种强大的编程范式,我们会在后续章节深入学习。
解释型是 Python 区别于 C 等编译型语言的关键。它的执行过程可以概括为:
- 你编写 Python 代码(
.py文件)。 - 运行程序时,Python 先把代码转换成中间代码。
- 再由解释器执行这些中间代码,完成你定义的逻辑。
C 语言的过程不同:先用编译器把源代码一次性编译成机器代码,再放到目标机器上执行。Python 省去了显式的编译步骤,写完代码后执行 python 文件名.py 就能运行。
带来的优势与局限:
- 优势(便捷性):开发流程简化,不用等待编译,改完代码可以直接再运行。运维等需要快速写脚本的领域因此大量使用 Python。
- 局限(性能):多了中间代码和解释执行这一层,运行速度通常不如直接编译成机器代码的语言。对性能要求非常高的领域,Python 可能并不适用。
强大的库生态
Python 的另一个显著优势是其极其丰富的内置库和第三方库。
一个软件系统的功能往往很复杂,如果从零开始开发,人力和精力投入都会非常大。但世界上很多角落的人可能与我们有着相同或类似的需求,他们用 Python 实现了这些功能并开放出来,我们就可以直接使用。比如在机器学习领域,几乎最主流的算法都有人用 Python 实现并开放。
在 Python 里,通过 import 这样的操作,就能把别人实现好的功能库引入自己的程序,直接调用,从而大大减少开发投入。
语法简洁与跨平台
语法简洁灵活是 Python 的设计哲学之一。它使用清晰的缩进来定义代码块,避免了繁琐的大括号,使代码可读性很高。在后续课程中,你会不断体会到这种“用更少的代码做更多事”的风格。
Python 还是一个开源、跨平台的语言。
- 开源意味着其源代码公开,并且有一个活跃的开源社区持续维护,使这门语言能够不断发展,充满生命力。
- 跨平台意味着同一份 Python 代码可以在 Windows、Linux 等不同操作系统上运行,为协作和部署带来便利。
Python 能做什么?
Python 的应用场景非常多。
- 数据分析与人工智能:这是现今比较火热的两个领域。Python 可以把数据用更友好的可视化图样展示出来,让人直观地看出数据的特点,例如分布是否接近正态分布、不同维度之间是否近似线性关系。这些直观的图样能为后续更有目的的数据探索提供明确指示。
- 网络爬虫:Python 有一些开源的网络爬虫库。当我们需要从互联网上抓取信息时,可以调用这些库完成目标。
- 自动化运维:这是一个更传统、也更古老的使用场景。Python 语法简便,其他语言需要很长一段逻辑才能实现的网络操作、文件操作,在 Python 里几句话就能完成。因此运维工程师很喜欢用它来完成日常的机器管理。
下一节:把环境装起来
本节只讲 Python 的特点。下一节会在本机安装 Python 环境,让这些特点真正跑起来。
📝 动手练一练
题目:不看讲义,用自己的话回答两个问题:
- 为什么 Python 写完代码就能直接运行,而 C 语言通常要先编译?
- 解释执行带来了什么便利,又付出了什么代价?
👉 点击查看参考答案
- Python 是解释型语言:运行
python 文件名.py时,Python 先把代码转成中间代码,再由解释器执行这些中间代码,所以不需要用户先手动编译。C 是编译型语言,要先用编译器把源代码编译成机器代码,再执行生成的程序。 - 便利是省掉显式编译步骤,改完代码就能再次运行,适合快速开发和脚本化任务;代价是多了解释执行这一层,运行速度通常不如编译型语言。
常见错误
| 错误写法 / 操作 | 现象或报错 | 原因 | 正确写法 / 操作 |
|---|---|---|---|
写完 .py 后到处找“编译”按钮,期待生成 .exe | 找不到对应的编译产物,不知道如何运行 | Python 是解释型语言,由解释器读取代码并执行,不需要先编译成独立可执行文件 | 在终端执行 python 文件名.py,让解释器直接运行 |
| 认为“解释型”就是代码完全不经过任何转换 | 对执行过程理解错误,遇到报错时无法判断问题出在哪一层 | Python 会先把代码转换成中间代码,再由解释器执行中间代码 | 把执行过程记成“代码 → 中间代码 → 解释器执行”三步 |
| 因为 Python 速度不如 C,就认为它不能用于实际项目 | 技术选型偏差,错过合适的工具 | 解释执行确实带来性能代价,但 Python 开发效率高,且在运维、数据分析等大量场景中广泛使用 | 按场景权衡:需要快速开发和脚本化时用 Python;对性能要求极高的部分再考虑其他语言 |
小结
- Python 是一种面向对象的解释型编程语言,语法简洁,代码可读性高。
- 执行过程是“代码 → 中间代码 → 解释器执行”,不需要像 C 语言那样先编译。
- 解释执行带来开发便捷,但运行速度通常不及编译型语言。
- Python 拥有强大的库生态(内置库+第三方库),通过
import即可调用,能减少开发投入。 - Python 是开源、跨平台的,有活跃社区持续维护。
- 主要应用领域包括数据分析与人工智能、网络爬虫、自动化运维。
📋 行动清单
- 用一句话复述 Python 的执行过程:代码 → 中间代码 → 解释器执行。
- 说出三个 Python 的典型应用场景,并各举一个你身边可能用到的例子。
- 想一想:如果你要写一个每天自动整理文件的小脚本,Python 的哪个特点最吸引你?
—— 小象教研组