Logo
☆☆☆☆☆
0.0
Beginner
45h

构建健壮的面向对象 Python 应用程序和库

本课程探讨使用 Python 的面向对象编程(OOP),通过对象来设计和构建应用程序。学习本课程后,学员将掌握 Python 的强大功能、简洁语法以及丰富的库,适用于基于面向对象的软件开发。 你将从面向对象设计的基础开始,了解对象、类,以及定义它们的属性和行为。你将学习 Python 面向对象能力中的基本概念与高级设计模式,包括类型提示、继承、异常处理、属性、抽象基类、数据结构以及函数式编程。接着,你将学习字符串操作、序列化、文件路径、迭代器模式,以及如何测试面向对象程序。课程最后深入探讨 Python 中的并发编程。 完成本课程后,你将扎实掌握面向对象的核心原则,并具备设计和实现复杂 Python 应用程序的能力。这些知识将帮助你胜任 Python 开发相关职位,并推动职业发展。

15 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
构建健壮的面向对象 Python 应用程序和库
本课程探讨使用 Python 的面向对象编程(OOP),通过对象来设计和构建应用程序。学习本课程后,学员将掌握 Python 的强大功能、简洁语法以及丰富的库,适用于基于面向对象的软件开发。 你将从面向对象设计的基础开始,了解对象、类,以及定义它们的属性和行为。你将学习 Python 面向对象能力...

WHAT YOU'LL LEARN

熟练掌握面向对象设计原则和Python语法

Content

15 Lessons • 0 Quizzes • 0 Challenges

面向对象设计
  1. 1

    入门

  2. 2

    介绍面向对象编程范式

  3. 3

    对象与类

  4. 4

    属性和行为

  5. 5

    隐藏细节并创建公共接口

  6. 6

    组合与聚合

  7. 7

    继承

  8. 8

    案例研究

  9. 9

    上下文视图

  10. 10

    逻辑视图

  11. 11

    进程视图

  12. 12

    开发视图

  13. 13

    物理视图

  14. 14

    挑战:设计一个订单处理系统

  15. 15

    解决方案:设计一个订单处理系统

  16. 16

    测验:面向对象设计

  17. 17

    总结

Python中的对象
  1. 1

    类型提示

  2. 2

    类型检查

  3. 3

    创建 Python 类

  4. 4

    初始化对象

  5. 5

    类型提示和默认值

  6. 6

    模块和包

  7. 7

    模块化组织

  8. 8

    代码模块化

  9. 9

    谁可以访问我的数据?

  10. 10

    案例研究

  11. 11

    样本及其状态(concept)

  12. 12

    示例状态转换

  13. 13

    类职责

  14. 14

    TrainingData 类

  15. 15

    挑战:构建一个待办事项应用程序

  16. 16

    解决方案:构建一个待办事项应用程序

  17. 17

    测验:Python 中的对象

  18. 18

    总结

当对象相似时
  1. 1

    继承的基本概念

  2. 2

    扩展内置类型

  3. 3

    重写与父类函数

  4. 4

    多重继承

  5. 5

    菱形问题

  6. 6

    不同的参数集合

  7. 7

    多态性

  8. 8

    案例研究

  9. 9

    逻辑视图

  10. 10

    挑战:构建一个测试系统

  11. 11

    解决方案:构建一个测试系统

  12. 12

    测验:当对象相似时

  13. 13

    总结

意料之外的挑战
  1. 1

    异常

  2. 2

    抛出异常

  3. 3

    异常的影响

  4. 4

    处理异常

  5. 5

    异常层次结构

  6. 6

    定义我们自己的异常

  7. 7

    异常并不罕见

  8. 8

    案例研究

  9. 9

    上下文与处理视图

  10. 10

    数据错误与不良行为

  11. 11

    从 CSV 文件创建样本

  12. 12

    验证枚举值

  13. 13

    读取 CSV 文件

  14. 14

    测验:意料之外的挑战

  15. 15

    总结

何时使用面向对象编程
  1. 1

    将对象视为对象

  2. 2

    使用属性为类数据添加行为

  3. 3

    属性详解

  4. 4

    装饰器——创建属性的另一种方式

  5. 5

    何时使用属性

  6. 6

    管理器对象

  7. 7

    消除重复代码

  8. 8

    案例研究

  9. 9

    示例类层次结构

  10. 10

    目的枚举

  11. 11

    挑战:构建一个银行系统

  12. 12

    解决方案:构建一个银行系统

  13. 13

    测验:何时使用面向对象编程

  14. 14

    总结

抽象基类与操作符重载
  1. 1

    简介

  2. 2

    抽象基类和具体类

  3. 3

    集合的ABC原则

  4. 4

    抽象基类和类型提示

  5. 5

    collections.abc 模块

  6. 6

    创建我们自己的抽象基类

  7. 7

    揭开神秘的面纱

  8. 8

    操作符重载

  9. 9

    扩展内置类型

  10. 10

    元类

  11. 11

    案例研究

  12. 12

    一种用于分区的洗牌策略

  13. 13

    一种增量式的分区策略

  14. 14

    挑战:构建一个图书馆管理系统

  15. 15

    解决方案:构建一个图书馆管理系统

  16. 16

    测验:抽象基类与操作符重载

  17. 17

    总结

Python 数据结构
  1. 1

    空对象

  2. 2

    元组和命名元组

  3. 3

    通过 typing.NamedTuple 定义命名元组

  4. 4

    数据类

  5. 5

    字典

  6. 6

    字典:使用场景

  7. 7

    使用 defaultdict

  8. 8

    计数器

  9. 9

    列表

  10. 10

    排序列表

  11. 11

    集合

  12. 12

    队列的类型

  13. 13

    案例研究

  14. 14

    冻结数据类

  15. 15

    命名元组类

  16. 16

    挑战:创建一个客户关系管理系统

  17. 17

    解决方案:创建一个客户关系管理系统

  18. 18

    测验:Python 数据结构

  19. 19

    总结

面向对象编程与函数式编程的交集
  1. 1

    简介

  2. 2

    Python 内置函数

  3. 3

    方法重载的替代方案

  4. 4

    参数的默认值

  5. 5

    可变参数列表

  6. 6

    解包参数

  7. 7

    函数也是对象

  8. 8

    函数对象与回调

  9. 9

    使用函数修补类

  10. 10

    可调用对象

  11. 11

    文件输入输出

  12. 12

    上下文管理

  13. 13

    案例研究

  14. 14

    数据分类

  15. 15

    分割函数

  16. 16

    挑战:构建一个销售报告生成器

  17. 17

    解决方案:构建一个销售报告生成器

  18. 18

    测验:面向对象编程与函数式编程的交集

  19. 19

    总结

字符串、序列化与文件路径
  1. 1

    字符串简介

  2. 2

    字符串操作

  3. 3

    字符串格式化

  4. 4

    包含 Python 代码的 f-strings

  5. 5

    自定义格式化器

  6. 6

    字符串是Unicode的

  7. 7

    正则表达式

  8. 8

    匹配一组字符

  9. 9

    重复和分组字符模式

  10. 10

    使用正则表达式解析信息

  11. 11

    文件系统路径

  12. 12

    序列化对象

  13. 13

    自定义序列化(Pickles)

  14. 14

    使用 JSON 序列化对象

  15. 15

    案例研究

  16. 16

    CSV 字典读取器

  17. 17

    CSV 列表读取器

  18. 18

    JSON 序列化

  19. 19

    JSON 验证

  20. 20

    挑战:创建一个数据管理系统

  21. 21

    解决方案:创建一个数据管理系统

  22. 22

    测验:字符串、序列化与文件路径

  23. 23

    总结

迭代器模式
  1. 1

    简介

  2. 2

    迭代器

  3. 3

    推导式

  4. 4

    集合与字典推导式

  5. 5

    生成器表达式

  6. 6

    生成器函数

  7. 7

    从另一个可迭代对象中生成项目

  8. 8

    生成器栈

  9. 9

    案例研究

  10. 10

    多个分区

  11. 11

    测试

  12. 12

    k-最近邻算法的核心原理

  13. 13

    挑战:学生表现追踪系统

  14. 14

    解决方案:学生表现追踪系统

  15. 15

    测验:迭代器模式

  16. 16

    总结

常见设计模式
  1. 1

    简介

  2. 2

    装饰器模式

  3. 3

    Python 中的装饰器

  4. 4

    观察者模式

  5. 5

    策略模式

  6. 6

    命令模式

  7. 7

    状态模式

  8. 8

    单例模式

  9. 9

    案例研究

  10. 10

    挑战:创建一个公司的日志系统

  11. 11

    解决方案:创建公司的日志系统

  12. 12

    测验:常用设计模式

  13. 13

    总结

高级设计模式
  1. 1

    简介

  2. 2

    适配器模式

  3. 3

    外观模式

  4. 4

    享元模式

  5. 5

    Python 中的享元模式示例

  6. 6

    抽象工厂模式

  7. 7

    Python 中的抽象工厂模式

  8. 8

    组合模式

  9. 9

    模板模式

  10. 10

    案例研究

  11. 11

    挑战:开发一个数据聚合系统

  12. 12

    解决方案:开发一个数据聚合系统

  13. 13

    测验:高级设计模式

  14. 14

    摘要

测试面向对象的程序
  1. 1

    简介

  2. 2

    编写测试代码

  3. 3

    使用 unittest 进行单元测试

  4. 4

    使用 pytest 进行单元测试

  5. 5

    使用 pytest 跳过测试

  6. 6

    使用模拟对象模仿对象

  7. 7

    测试驱动开发的见解

  8. 8

    案例研究

  9. 9

    单元测试 Hyperparameter 类

  10. 10

    测验:测试面向对象程序

  11. 11

    总结

并发
  1. 1

    简介

  2. 2

    线程

  3. 3

    线程问题

  4. 4

    多进程

  5. 5

    进程池

  6. 6

    队列

  7. 7

    多进程编程中的问题

  8. 8

    未来(Futures)

  9. 9

    异步IO

  10. 10

    异步IO用于网络编程

  11. 11

    日志编写演示

  12. 12

    异步客户端

  13. 13

    哲学家就餐问题基准测试

  14. 14

    案例研究

  15. 15

    挑战:构建一个传感器监控系统

  16. 16

    解决方案:构建一个传感器监控系统

  17. 17

    测验:并发

  18. 18

    总结

结论
  1. 1

    总结

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)