Python程序设计

徐舒,严张凌,何山,王佩瑶,肖业清

目录

  • 1 课程概况
    • 1.1 教学大纲
    • 1.2 教案
    • 1.3 教材与参考书
  • 2 1-1 Python概述
    • 2.1 Python的发展与特点
    • 2.2 Python程序的运行方式
  • 3 2-1 搭建Python开发环境
    • 3.1 Conda虚拟环境
    • 3.2 VSCode的安装与配置
  • 4 2-2 Python开发快速入门
    • 4.1 实例精讲1:温度转换
    • 4.2 Python程序实例解析
  • 5 3-1 Python程序开发与调试入门
    • 5.1 Python调试方法
    • 5.2 VSCode断点与调试工具栏
    • 5.3 高阶拓展:Python中的if __name__ ==‘__main__’该如何理解
  • 6 4-1 turtle绘图库及计算思维的训练
    • 6.1 翻转任务单
    • 6.2 翻转视频:turtle库基本概念
    • 6.3 翻转视频:turtle库常用函数
    • 6.4 翻转讨论:你知道哪些函数的简写与完整形式?
    • 6.5 翻转测验(课前自测)
    • 6.6 挑战编程1: 五角星绘制
    • 6.7 实例精讲2:Python蟒蛇绘制
    • 6.8 turtle的各种小技巧
      • 6.8.1 小海龟到底在哪里?
      • 6.8.2 实例3:彩虹框
      • 6.8.3 实例4:教小学生认识多边形
    • 6.9 编程训练4:彩色艺术图
  • 7 4-2 基本数据类型之数字类型
    • 7.1 基本数据类型
    • 7.2 编程训练
  • 8 5-1 Python字符串基础
    • 8.1 翻转任务单
    • 8.2 翻转视频
    • 8.3 翻转讨论
    • 8.4 翻转测验(开课测验)
    • 8.5 挑战编程2:字符串的第1个不重复字符
      • 8.5.1 挑战编程2的两种解题思路
    • 8.6 挑战编程3:最长公共前缀
      • 8.6.1 标准算法思路
      • 8.6.2 Python简化解题思路
  • 9 6-1 字符串方法与格式化
    • 9.1 字符串的方法
    • 9.2 字符串的格式化
    • 9.3 实例5:文本进度条的实现
    • 9.4 拓展:进度条tdqm库
  • 10 6-2 程序的控制结构
    • 10.1 翻转任务单
    • 10.2 翻转视频
    • 10.3 实例精讲6:BMI身体指数的计算
      • 10.3.1 挑战练习
  • 11 7-1 Python循环结构
    • 11.1 翻转任务单
    • 11.2 翻转视频
    • 11.3 编程练习
  • 12 8-1 Python异常机制
    • 12.1 异常处理分支结构
    • 12.2 拓展: Random随机库用法
  • 13 8-2 Python函数
    • 13.1 翻转任务单
    • 13.2 翻转视频
    • 13.3 翻转讨论
  • 14 9-1 函数编程训练
    • 14.1 实例8:七段数码管绘制
      • 14.1.1 实例讲解
      • 14.1.2 改进实例
    • 14.2 挑战编程4:旋转图像
      • 14.2.1 解题思路
    • 14.3 拓展: PyInstaller库的使用
  • 15 10-1 列表和元组
    • 15.1 翻转任务单
    • 15.2 翻转视频
    • 15.3 翻转讨论
    • 15.4 序列类型
      • 15.4.1 有序:列表
      • 15.4.2 有序:元组
      • 15.4.3 序列典型应用场景
    • 15.5 无序:集合
      • 15.5.1 集合典型应用场景
  • 16 10-2 列表与元组编程训练
    • 16.1 案例 基本统计值运算
      • 16.1.1 问题分析
      • 16.1.2 解决方案
      • 16.1.3 拓展
    • 16.2 挑战编程5:重复元素判定
  • 17 11-1 算法与计算思维训练
    • 17.1 jieba库
    • 17.2 实例:词频统计
  • 18 12-1 Python字典
    • 18.1 无序:字典
      • 18.1.1 字典基本特性分析
    • 18.2 序列高级特性
  • 19 12-2 算法与计算思维训练
  • 20 13-1 Python的文件处理
    • 20.1 翻转任务单
    • 20.2 课件 输入与输出
      • 20.2.1 视频 文件操作详解
  • 21 14-1 (高阶)文件编程-自动轨迹绘制
    • 21.1 课程翻转课堂教学任务单
    • 21.2 视频 文件数据的处理
    • 21.3 视频 自动轨迹绘制
  • 22 14-2 Python中的图像处理PIL库
    • 22.1 PIL库的使用
  • 23 15-1 图像增强编程训练
    • 23.1 翻转任务单
    • 23.2 高阶项目:猫狗识别
    • 23.3 编程挑战:图像增强
  • 24 16-1 二维文件处理方法
    • 24.1 二维数据与CSV基础
  • 25 16-2 词云库wordcloud
    • 25.1 拓展 词云库wordcloud
    • 25.2 实例9: 报告词云
      • 25.2.1 拓展 你不知道的词云
  • 26 16-2 Python生态展望(拓展内容,自主选学)
    • 26.1 Python生态概述
    • 26.2 从数据处理到人工智能
    • 26.3 实例16 霍兰德人格分析图
    • 26.4 从Web解析到网络空间
    • 26.5 从人机交互到艺术设计
    • 26.6 实例17 玫瑰花绘制
VSCode断点与调试工具栏

断点Breakpoint

断点是指程序运行到这里会暂停执行,方便我们调试程序。

最简单的断点,在行号前面单击即可创建。

vscode对于断点有一些增强的功能。在创建的断点上右键,选择编辑断点,可以有以下几个选择:

  1. 表达式:当表达式的调试满足时打断

  2. 命中次数:当该断点被命中指定次数时打断

  3. 日志消息:当每次断点被命中时打印log,支持的格式类似Python的f-string,{}中加表达式打印时可以被替换

编辑好断点的形状会有一些变化,光标放在断点上可以看到相关的信息:

如图,该断点会在i == 100或者被命中50次时停下,并且每次命中都会在调试控制台中输出一次log。


调试工具栏

在VSCode中,按F5或点击菜单进入调试模式后,若遇到断点,会出现调试工具栏,如下图:



从左到右依次是:

  1. Continue(F5):一直执行直到遇到下一个断点。

  2. Step Over(F10):单步执行,即执行当前这一行代码,完成后会跳到下一行

  3. Step Into(F11):单步执行,在当前行遇到子函数就进入该函数内部。它与Step Over的区别是,Step Over不会进入子函数,而Step Into会。

  4. Step Out(Shift+F11):跳出当前函数,回到上级函数。

  5. Restart(Ctrl+Shift+F5):重启当前程序,从头开始调试;这通常发生在我们不小心错过了程序的重点执行点,想重新来一遍,仔细观察。

  6. Stop(Shift+F5):停止当前程序,不调试了。这通常发生在我们已经发现程序问题,后续执行没有意义了。