前言

对于嵌入式入门的同学来说,往往会遇到设备端处理能力不足、在面对大规模计算情况下需要借助上位机完成进一步的数据处理的情况。此时,Python 语言因其简单易用的特点和丰富多样的库成为了我们做上位机的不二选择。然而,尽管我们可以很方便使用 Python 的 GUI 和科学计算库,但是写出的代码还是用的面向过程的那一套东西,代码是老太太的裹脚布,又臭又长,面向对象的设计方法为我们提供了一种新的程序设计思路。

然而,遗憾的是,市面上大多数关于Python面向对象编程的文档和教程往往只关注于如何实现,而对于为什么要这样实现、相关特点等更深层次的知识却鲜有涉及。此外,这些教程也缺乏实际应用的例子,使得初学者难以真正理解和掌握面向对象编程的精髓。

为了帮助初学者更好地理解和应用面向对象的设计方法,本文档更加深入地探讨其背后的原理和特点,并结合实际案例来展示其在实际开发中的应用价值。



本文档特点

本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向对象编程的博客或书籍而言,本文档更加详细、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail 代码软件对代码进行可视化阅读便于读者理解。





文档内容介绍











第一章,我们首先对比了面向过程编程和面向对象编程的两种思想,介绍了面向对象方法学,包括面向对象分析、面向对象设计和面向对象编程三个概念,同时简述了面向对象编程的基本概念及其特性,并且给出了本文档示例程序的相关示例环境;

第二章,以串口通信协议为例对于使用 Python 编程语言实现类的创建、继承和组合进行基本讲解,同时对使用模块和包组织我们多个 Python 文件进行了基本介绍;

第三章,对于程序异常、异常捕获和异常层级进行了基本介绍,同时介绍了如何根据自己的需要实现自定义异常类,并且对断言的相关概念进行了基本介绍;

第四章,详细讲解了 Python 中对象、类型、类和实例间的关系,简单回顾了 Python 中常用内置复合数据类型,同时讲解了如何实现内置复合数据类型的扩展,最后简单介绍了一些数据结构相关的概念;

第五章,首先对 Python 中函数和方法的区别进行了介绍,同时详细介绍了Python 中接口的概念和具体实现,包括使用抽象基类、第三方库和 Protocol 协议;

第六章,主要对字符串、字符编码、字符串的格式化、正则表达式、二进制字符串和序列化对象等的概念和基本使用进行了介绍;

第七章,首先讲解了程序的并行和并发两个基本概念,主要对 Python 中使用多线程和多进程实现程序的并行和并发进行了介绍,并辅以综合实例便于读者更好的理解。

除了以上内容,本文档也对 Python 中的一些语法糖和 PyCharm 的使用技巧进行了介绍,包括类型注解、代码标签等,这部分内容用红框进行标注。











文档获取

可访问如下链接进行对文档下载:

https://github.com/leezisheng/Doc

相关示例代码获取链接如下:

https://github.com/leezisheng/Python-OOP-Demo

可能是全网最适合入门的面向对象编程教程:Python实现-嵌入式爱好者必看!的更多相关文章

  1. Python入门之面向对象编程(四)Python描述器详解

    本文分为如下部分 引言——用@property批量使用的例子来引出描述器的功能 描述器的基本理论及简单实例 描述器的调用机制 描述器的细节 实例方法.静态方法和类方法的描述器原理 property装饰 ...

  2. Python入门之面向对象编程(二)python类的详解

    本文通过创建几个类来覆盖python中类的基础知识,主要有如下几个类 Animal :各种属性.方法以及属性的修改 Dog :将方法转化为属性并操作的方法 Cat :私人属性讲解,方法的继承与覆盖 T ...

  3. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  4. 最适合入门的Laravel中级教程(一)

    Laravel 是一个全栈框架: 我们使用 Laravel 开发业务常见有 3 个方向: 前端页面和后端逻辑混合的应用 主要是面向对 SEO 有需求的项目: 比如说新闻资讯博客文章等: 一般在控制器中 ...

  5. Python入门之面向对象编程(一)面向对象概念及优点

    概念 谈到面向对象,很多程序员会抛出三个词:封装.继承和多态:或者说抽象.一切都是对象之类的话,然而这会让初学者更加疑惑.下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个 ...

  6. JavaScript基础入门12 - 面向对象编程

    目录 JavaScript 面向对象编程 前言 构造函数创建对象 instanceof constructor 返回值 原型对象 关于对象的属性查找 in hasOwnProperty() JS当中实 ...

  7. [Java入门笔记] 面向对象编程基础(一):类和对象

    什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...

  8. 面向对象编程总结--Python

    万物皆为对象.自然环境赋予人类无尽的遐想,而面向对象编程之思想就是来自于大自然.自然界,类和对象比比皆是,比如:鸟类和麻雀,鱼和鲤鱼......其中鸟类就是各种鸟的总称,而麻雀只不过是其中之一(对象) ...

  9. [Java入门笔记] 面向对象编程基础(三):成员变量和局部变量

    在类中,变量根据定义的位置不同,可以分为成员变量和局部变量.

  10. 最适合入门的Laravel中级教程(四)前端开发

    Laravel 使用 npm 安装前端依赖: npm 是一个类似 composer 的工具: 用于管理前端的各种依赖包: 在使用之前需要先安装 node : Windows 下可以在官网下载安装: h ...

随机推荐

  1. C 语言编程 — 代码规范

    目录 文章目录 目录 前文列表 空行 空格 缩进 对齐 代码行 注释 示例 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 ...

  2. 深度学习项目-MobileNetV2水果识别模型

    FruitRecognition DeepLearning深度学习小项目,利用CNN和MobileNetV2搭建的水果识别模型. github地址 fruit为本次大作业使用的数据集. geneFru ...

  3. 原生Django出现同源策略跨域的解决方式

    解决方式: 在返回数据的时候,添加响应头信息: 例如:

  4. 一个简单demo展示应用接口使用goroutine优雅退出

    package main import ( "context" "errors" "log" "net/http" &q ...

  5. wpf 动画显示隐藏_[UWP]用Win2D和CompositionAPI实现文字的发光效果,并制作动画

    weixin_39880899于 2020-12-11 09:26:23 发布 阅读量521 收藏 点赞数 文章标签: wpf 动画显示隐藏   1. 成果 献祭了周末的晚上,成功召唤出了上面的番茄钟 ...

  6. GeoGebra作圆的切线

    参考文档:<GeoGebra入门教程>唐家军 1. 目的 使用GeoGebra作出过一点的圆的切线. 2. 构造过程 文档种的描述如下: 按照上述构造过程,在输入条形框中依次输入上面的指令 ...

  7. kettle从入门到精通 第四十三课 kettle 多对1表合并同步

    1.上一节课我们学习了1对多表拆分数据同步,本节课我们一起学习多对1数据同步,也就是说多张表关联之后的结果集写入一张表. 我们平常在写java应用的时候多表关联一般有两种方式: a.通过sql 语句的 ...

  8. 深入剖析C++多态的实现与原理-详解

    目录 多态基础 虚函数 虚函数的继承 虚类/虚基类 重写/覆盖 条件: 概念: 多态的条件 其他的多态行为 多态中子类可以不写virtual 协变 代码举例 继承遗留问题解决 析构函数 具体解决方式: ...

  9. ZeroPadding 参照

    加密时要处理. 解密时,不需要额外处理,直接NoPadding. import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; impor ...

  10. Promise 期约

    Promise 期约之前 回调地狱 设想这样一个经常发生的场景,我们希望处理Ajax请求的结果,所以我们将处理请求结果的方法作为回调传入,需要将请求结果继续处理,这就导致我们陷入了回调地狱 doSom ...