课Python课程设计

从用户交互到 I/O 模型的完整 Python 课程,含练习与参考答案

52 篇 · 7.4 万字

52 篇
从第一篇开始 →
  1. 01 绪论 开课绪论 课程目标 本课程是完整的系列化的Python教程,从零基础入门开始到精通Python编程语言。学完之后,你所收获的不仅仅是精通一门Python编程语言,而且具备快速学习其他编程语言的能力,无障碍阅读所有Pyth… 6 分钟 ✓
  2. 02 用户交互 Chapter01 任务名称 用户交互 任务简介 配置Python2和Python3环境变量在电脑上共存 社群话题 Python语言与其他编程语言(比如C语言)相比有什么异同 详细说明 Python不仅是具备一门解释型语… 1 分钟 ✓
  3. 03 流程控制 Chapter02 任务名称 流程控制 任务简介 配合视频看文档学习计算机的数学运算和逻辑运算,分支语句与循环语句 社群话题 Python的while循环与for循环的应用场景分别是怎么样的 详细说明 1. break是… 2 分钟 ✓
  4. 04 流程控制-参考答案 答案 作业一 写一个用户登录认证的程序,比如用户名是“Albert”,密码是“1”,请用户分别输入用户名和密码来认证 作业二 写一个打印用户权限的程序,请用户输入用户名来验证 练习三 写一个根据当日日期来说明是否上班的程序,请… 9 分钟 ✓
  5. 05 数据类型 Chaper03 任务名称 数据类型 任务简介 配合视频看文档学习数字类型,字符串类型,列表类型,元祖类型,字典类型,集合类型,布尔类型的常用方法 社群话题 Python中的列表和字典通常是怎么嵌套使用的 详细说明 1.… 4 分钟 ✓
  6. 06 数据类型-参考答案 答案 作业一 写代码,有如下变量,请按照要求实现每个功能 作业二 有列表data=['albert',18,\[2000,1,1]\],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量。 作业三 有如下值集合 [1… 9 分钟 ✓
  7. 07 字符编码 Chapter04 任务名称 字符编码 任务简介 1. 理解字符编码的原理,了解字符编码的发展过程 2. 清楚知道Python2 和Python3中字符串类型的区别 社群话题 使用Python什么情况下会出现乱码 详细说… 1 分钟 ✓
  8. 08 文件处理 Chapter05 任务名称 文件处理 任务简介 1. 掌握文件的操作模式与打开模式 2. 理解文件内光标移动 社群话题 使用Python处理文件应该如何选择文件的打开模式 详细说明 1. 用Python代码来操作计算机… 2 分钟 ✓
  9. 09 文件处理-参考答案 答案 练习一 写一个程序在要保持文件内容的顺序不变的前提下,去除文件中重复的行。 练习二 写一个在终端执行拷贝文件的命令,文件不仅限于文本文件,要求是:在终端环境下输入命令: python(或者python3) Python文… 4 分钟 ✓
  10. 10 函数概述 Chapter06 任务名称 函数概述 任务简介 1. 理解函数的使用需求,掌握定义函数的方式和函数的执行过程 2. 理解无参函数,有参函数和空函数的使用场景 3. 理解函数返回值的概念和什么时候需要返回值什么时候不需要… 1 分钟 ✓
  11. 11 函数概述-参考答案 答案 作业1 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成修改操作 解析思路参考: 作业2 写函数,计算传入字符串中【数字】、【字母】、【空格\] 以及 【其他】的个数 解题思路参考: 以使用string的is… 7 分钟 ✓
  12. 12 闭包函数 Chapter07 任务名称 闭包函数 任务简介 1. 理解函数名加括号调用函数的方式,并使用这种方式取代多分枝的if与else组合 2. 理解名称空间的加载顺序与变量的查找顺序 3. 理解全局作用域与局部作用域的的概念… 2 分钟 ✓
  13. 13 闭包函数-参考答案 答案 作业1 编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件)。要求:登录成功一次,后续的函数都无需再输入用户名和密码;注意:从文件中读出字符串形式的字典,可以用以下方式把字典字符串转化成字符串 作业2 编写装… 6 分钟 ✓
  14. 14 迭代生成 Chapter08 任务名称 迭代生成 任务简介 1. 掌握可迭代对象,迭代器对象以及迭代器对象的使用 2. 理解for循环的原理 3. 理解yield构造生成器的原理 4. 理解面向过程编程的思想 社群话题 Pytho… 1 分钟 ✓
  15. 15 迭代生成-参考答案 答案 3 分钟 ✓
  16. 16 合并表达 Chapter09 任务名称 合并表达 任务简介 1. 掌握三元表达式,列表推导式以及生成器表达式的使用方法 2. 理解函数递归调用的方式和目的,就是减少重复代码 社群话题 什么时候使用列表生成式 详细说明 1. 并不是… 1 分钟 ✓
  17. 17 合并表达-参考答案 答案 作业1 将names=['albert','james','kobe','kd']中的名字全部变大写 作业2 将names=['albert','jr\ shenjing','kobe','kd']中以shenjing结… 5 分钟 ✓
  18. 18 模块对象 Chapter10 任务名称 模块对象 任务简介 1. 掌握匿名函数的使用方法和在什么情况下使用匿名函数 2. 理解函数内置函数max,map,filter和reduce的使用,能够熟练运用 3. 理解模块与包的概念,能… 2 分钟 ✓
  19. 19 模块对象-参考答案 答案 作业1 1. 文件内容如下,标题为:姓名,性别,年纪,薪资 albert male 18 3000 james male 38 30000 林志玲 female 28 20000 新垣结衣 female 28 10000… 10 分钟 ✓
  20. 20 类与对象 Chapter11 任务名称 类与对象 任务简介 1. 理解面向对象编程的概念 2. 理解类定义阶段和创造对象的时候干的什么事 社群话题 Python使用面向对象编程为什么能提高效率 详细说明 面向对象要用上帝式思维 打… 1 分钟 ✓
  21. 21 类与对象-参考答案 答案 程序设计: 设计思路解析参考: 谈到根据姓名查看学生成绩,而学生可能会有多门课程,可以考虑用字典嵌套的方式去设计数据结构,删除字典的key也比较简单。 13 分钟 ✓
  22. 22 名称空间 Chapter12 任务名称 名称空间 任务简介 1. 理解名称空间的概念 2. 理解绑定方法的概念 3. 理解Python中一切皆对象 社群话题 怎么理解Python中一切皆对象 详细说明 一般情况下对象操作的示例,对… 1 分钟 ✓
  23. 23 名称空间-参考答案 答案 程序设计: 3 分钟 ✓
  24. 24 三大特性 Chapter13 任务名称 三大特性 任务简介 教程中的讲解过程全部都要理解,得出的结论全都要记住并熟练运用 社群话题 Python面向对象的三大特性适用于那些场景 详细说明 面向对象三大特性是面向对象最重要的内容之一… 4 分钟 ✓
  25. 25 三大特性-参考答案 答案 代码优化 如下示例, 在没有学习类这个概念时,数据与功能是分离的,请用面向对象的形式优化以下代码 代码解释 不运行程序看代码说出代码运行结果并解释 程序设计 使用组合与继承设计一个学生选择课程的程序,使老师和学生初始化都… 12 分钟 ✓
  26. 26 类的宿主 Chapter14 任务名称 类的宿主 任务简介 1. 理解所有课程的中讲解的内容 2. 清楚知道自定义类的创建过程和调用过程 3. 理解单例模式 社群话题 Python中的元类有什么应用 详细说明 元类在Python中… 1 分钟 ✓
  27. 27 类的宿主-参考答案 答案 PS:这一章代码必须要在类的创建过程,调用过程和单例模式的分支语句添加注释,其他注释也可自由添加 1. 详细说一下自定类的创建过程和调用过程 2. 除了文中讲到的方法之外,另外用至少4种方式实现单例模式(有能力还可以使用… 6 分钟 ✓
  28. 28 异常处理 任务名称:异常处理 任务简介: 1\. 清楚常见的异常和异常捕获的形式 2\. 能够自定义异常 思考话题: 什么时候需要自定义异常 打卡要求: 完成以下练习(第一题可以口述或者发文,第二题上传代码链接地址): 1\. 详… 2 分钟 ✓
  29. 29 异常处理-参考答案 答案 任务名称:异常处理 打卡要求: 完成以下练习(第一题可以口述或者发文,第二题上传代码链接地址): 1\. 详细说一下异常常见的种类 2\. 程序设计:(以下这些是一个题目) 自定义一个Integer类 该类有个input… 5 分钟 ✓
  30. 30 七层协议 Chapter16 任务名称 七层协议 任务简介 1. 理解互联网协议的概念 2. 能够知道应用层,传输层,网络层,数据链路层和物理层所做的工作 社群话题 互联网协议是如何工作的 详细说明 理解网络协议是学好网络编程的前… 1 分钟 ✓
  31. 31 通信原理 Chapter17 任务名称 通讯原理 任务简介 1. 了解服务器的概念 2. 理解交换机的mac地址学习 3. 了解IPV4和IPV6的概念 4. 理解ARP协议的工作原理 社群话题 ARP协议的工作原理是什么 详细说… 1 分钟 ✓
  32. 32 实现流程 Chapter18 任务名称 实现流程 任务简介 1. 深入理解TCP协议三次握手建连接和四次挥手断连接 2. 理解服务器在每个阶段所处的状态 3. 知道TCP协议与UPD协议的差异 社群话题 TCP协议三次握手和四次挥… 1 分钟 ✓
  33. 33 套接编程 Chapter19 任务名称 套接编程 任务简介 1. 了解套接字层的由来 2. 理解套接字编程客户端与服务端相互之间的数据传递 3. 记住套接字编程客户端和服务端代码怎么写 社群话题 套接字编程的是如何控制计算机建立连… 1 分钟 ✓
  34. 34 套接服务 Chapter20 任务名称 套接服务 任务简介 1. 深刻理解TCP协议的粘包问题的产生 2. 理解DNS服务的过程 社群话题 TCP协议的粘包问题是怎么产生的 详细说明 TCP协议由来已久,这是互联网的基石 打卡要求… 1 分钟 ✓
  35. 35 套接服务-参考答案 答案 1. 基于TCP协议写一个远程执行命令的程序,要求不能产生任何粘包,recv参数设置成512 服务端 客户端 2. 基于UDP写一个qq聊天程序,双方可随时推出聊天程序,服务器记录聊天内容 服务端 客户端 3. 基于UD… 8 分钟 ✓
  36. 36 进程对象 Chapter21 任务名称 进程对象 任务简介 1. 了解操作系统的发展历程 2. 理解现代操作系统的作用 3. 深入理解多道技术 社群话题 多道技术的是怎么实现的 详细说明 时代的进步,硬件技术的不断提升推动了IT行… 1 分钟 ✓
  37. 37 进程并发 Chapter22 任务名称 进程并发 任务简介 1. 理解进程的本质并学会使用文章中讲到的Linux命令 2. 理解并发的工作原理 3. 学会开启进程的两种方式 4. 理解守护进程互斥锁的应用 5. 理解IPC机制的条… 3 分钟 ✓
  38. 38 进程并发-参考答案 答案 写一个模拟100个用户抢10张火车票的程序,要求如下: 2. 基于网络通信写一个用户注册的程序,要求如下: 6 分钟 ✓
  39. 39 线程并发 Chapter23 任务名称 线程并发 任务简介 1. 理解线程的理论 2. 掌握两种方式开启多线程 3. 掌握线程对象常用的方法 4. 深入理解守护进程与守护线程的差异 5. 掌握线程互斥锁的用法 6. 理解死锁成因,… 2 分钟 ✓
  40. 40 线程并发-参考答案 答案 Chapter23 任务名称 线程并发 打卡要求 1. 写代码验证在多核CPU前提下对于IO密集型和计算密集型任务多进程和多线程的执行效率,要求如下: 2. 写一个简易的爬虫程序,抓取博客园网站首页前10页中所有文章标题… 8 分钟 ✓
  41. 41 协程控制 Chapter24 任务名称 协程控制 任务简介 1. 深入理解协程的理论 2. 掌握查看源码的方式 3. 熟练掌握gevent模块的用法 社群话题 Python能够提升执行效率的协程是怎么样实现的 详细说明 协程并不都… 1 分钟 ✓
  42. 42 协程控制-参考答案 答案 Chapter24 任务名称 协程控制 打卡要求 我们之前分别写过百度和腾讯的产品的简易版,而阿里作为三巨头的老大显然也不能错过,阿里比较有特点产品之一就是双十一淘宝天猫的高并发量,从2009年开始提出双十一的概念,最初… 1 分钟 ✓
  43. 43 I/O模型 Chapter25 任务名称 I/O 模型 任务简介 1. 深入理解IO模型所经历的 wait data 与 copy data 这两个阶段 2. 理解非阻塞IO模型实现过程中遇到的问题和解决方案 3. 理解IO多路复用… 1 分钟 ✓
  44. 44 Github不求人 这是一篇介绍Github和与之相关内容的文章,是从源头到应用级的完整性描述,希望你能够再看过这篇文章之后,从此Github不求人。如果有我没有提到的地方,可以在屏幕下方留言。 Github基本介绍 Github是什么? … 6 分钟 ✓
  45. 45 第一阶段项目 项目一(多级菜单) 提示代码: 注:此代码为提示版,不能作为答案,只能作参考 项目二(购物商城) GitHub链接或者百度云盘链接提交项目作业 3 分钟 ✓
  46. 46 第一阶段项目-参考答案 答案 项目一:多级菜单 项目二:购物商城 解题思路参考: 14 分钟 ✓
  47. 47 第二阶段项目 电子商城(E mall) 软件开发规范:Packaging Python Projectspackaging.python.org 每个项目都是一个独立的工程文件夹,这个文件包含有: GitHub链接或者百度云盘链接提交… 2 分钟 ✓
  48. 48 第三阶段项目 操作管理(OperationManagement) 1. 使用面向对象创建多所学校 2. 在学校内创建多所课程,比如AI, Python , ML 3个课程 ,AI\\Python 在上海开, ML 在纽约开 3. 课程… 1 分钟 ✓
  49. 49 第四阶段项目 共享网盘(SharedNetworkDisk) 写一个共享网盘的程序,要求使用面向对象且按照软件开发规范进行设计,必须具备以下功能: 1. 至少包含用户和文件两个类,用户可以注册登陆 2. 用户上传的文件可以是普通文件,… 1 分钟 ✓
  50. 50 第四阶段项目-参考答案 答案 共享网盘(SharedNetworkDisk) 写一个共享网盘的程序,要求使用面向对象且按照软件开发规范进行设计,必须具备以下功能: 1. 至少包含用户和文件两个类,用户可以注册登陆 2. 用户上传的文件可以是普通文件,… 2 分钟 ✓
  51. 51 第五阶段项目 任务简介 这是我们最后一个项目,这个项目肯定是和并发相关的,这次我们对项目的业务逻辑不做要求,给你们自由发挥的空间,可以随意写自己想写的项目或者与自己专业相关的项目,如果自己想不出来,那就自己改进我们之前的项目二,项目三… 1 分钟 ✓
  52. 52 结束语 收到 1 分钟 ✓