1.1 课程概述——简介与实例¶
内容梗概¶
本节是整门课程的开场,介绍了 Python 这门语言的定位与用途,并通过三个实际例子展示 Python 的能力。老师说明了课程的考核方式:以平时多次作业打分的平均分作为期末成绩。三个演示例子分别是 turtle 画图表白程序、网络爬虫批量下载图片、基于 OpenCV/dlib/numpy 的图片换脸程序。老师强调这些例子只是为了展示能力、引起兴趣,并不是一开始就要求掌握的内容。
知识点详解¶
Python 简介¶
- 官方文档有正式介绍(课程页面给了链接),更通俗的说法是著名的口号"人生苦短,快用 Python"(约 00:28)。
- 推荐理由:重复性工作可以用 Python 自动化完成;不管是不是计算机相关专业都值得学习(约 00:37)。
- Python 发展快与人工智能的兴起密切相关(约 09:40)。
课程考核方式¶
- 考核依据平时作业,约 N 次作业,每次打分,期末成绩为平均分(约 01:10)。
- 老师个人态度:学会写代码比考核更重要,考核只求公平(约 01:50)。
Python 代码为何短小¶
- 示例代码都很短(如爬虫只有 37 行),原因是 Python 有丰富的第三方库支撑(约 13:47)。
- 涉及的第三方库:
- OpenCV:图形/图像处理库;
- dlib:图形处理库,偏机器学习功能,可做人脸轮廓检测;
- numpy:科学计算/矩阵运算库。
- 爬虫是非常常见的需求,此外还有数据分析等方向,后续课程都会涉及(约 14:19)。
爬虫的法律与礼仪¶
- 爬取时要控制频率,示例代码中每抓一张图片暂停 5 秒(约 05:25)。
- 原因:过于频繁的访问会被对方网站视为攻击(拒绝服务攻击 DoS),导致 IP 被封;网络安全法也不允许爬虫影响网站正常服务,更不允许爬取公民个人信息(约 05:40)。
示例与演示¶
- turtle 表白程序(约 02:11):用内置
turtle库在窗口中画出桃心和文字,写上表白双方的名字。配置好环境后同学可自行修改文字得到自己的表白程序。 - 网络爬虫下载图片(约 03:44):目标是批量保存一个摄影作品集网页中的图片(替代手动右键另存为的重复劳动)。代码约 37 行、带简单注释,课程网站上可直接复制。运行后图片被逐张下载到本地,演示时手动暂停。扩展思路:爬取知乎某类问题的所有回答文本后做分析(如分析最受欢迎软件)。
- 图片换脸程序(约 07:30):参考网上两份代码合并修改而成,用到 OpenCV、dlib、numpy。原理是把 face 图片的脸替换到 target 图片上,输出 output 图片。类比 deepfake(视频换脸),但课上演示图片换脸,因为视频换脸更复杂、耗时更长。
重点与难点¶
- 本节不设难点,例子的目的是展示 Python 能力、激发兴趣("兴趣是最好的老师"),零基础同学不要因例子看起来复杂而畏难。
- 做爬虫务必控制抓取频率,遵守网络安全法,不爬公民信息。
- 记住核心结论:Python 功能强大的背后是丰富的第三方库生态。
关联内容¶
- 后续 1.2 节介绍课程整体结构与学习建议;2.x 节配置开发环境后可动手运行本节的表白程序。
- 爬虫、数据分析等主题在课程后半部分(输入输出、文件读写、标准模块之后的开发实例部分)会正式讲授。
- 第三方库的安装与虚拟环境管理对应第 10 章内容。