跳转至

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 章内容。