前言

对于嵌入式入门的同学来说,往往会遇到设备端处理能力不足、在面对大规模计算情况下需要借助上位机完成进一步的数据处理的情况。此时,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. 运算符优先级 JAVA11

    **运算符优先级 ** 规律:算术运算符优先级较高,关系和逻辑运算符优先级较低.多数运算符具有左结合性,单目运算符.三目运算符.赋值运算符具有右结合性. 运算符的优先级 举例 使用优先级为 1 的小括 ...

  2. SpringAi

    Spring AI 初学 Spring AI 官方地址 "spring 不生产 AI,只是 AI 工具的搬运工" 项目可以查看gitee Open AI 前期准备 Open AI官 ...

  3. java stream 简单函数

    写在前面 本文为笔者学习的一些心得,如有问题,评论请轻喷 本文分为以下部分: 中间操作 终止操作 归纳 中间操作 对 list 进行操作,返回一个新的 list 主要函数 作用 filter 过滤操作 ...

  4. 字符型 ASCLL编码 转义字符

    字符(character) char 2字节   每一个字符的背后.都有一个数字做代表(对照,参照的表) 字符赋值 char cl = 'a';通过''单引号描述为字符赋值 整数赋值 char c2 ...

  5. Android Media Framework(三)OpenMAX API阅读与分析

    这篇文章我们将聚焦Control API的功能与用法,为实现OMX Core.Component打下坚实的基础. 1.OMX_Core.h OMX Core在OpenMAX IL架构中的位置位于IL ...

  6. 使用 OpenTelemetry 构建可观测性 04 - 收集器

    在之前的博文中,我们讨论了如何使用 SDK 和链路追踪生产者来导出进程中的遥测数据.尽管有多种类型的导出器可供选择,但其中一个常见的目标是将数据导出到 OpenTelemetry Collector. ...

  7. java8 Lambda及Stream学习笔记

    Lambda表达式Lambda 表达式可以替代只有一个抽象函数的接口实现. Lambda表达式同时还提升了对集合.框架的迭代.遍历.过滤数据的操作. Lambda表达式使用场景任何有函数式接口的地方 ...

  8. Lecture5

    Smiling & Weeping ---- 在街上看到长得和你相似的人时 我心中的那股雀跃 请你至少同情一下吧 第五章 Git 内部原理 5.0 引言 本章相对独立,从底层出发带你了解Git ...

  9. 解决git 区分文件名大小写

    问题:两人协作开发同一分支时,由于一方将组件文件名小写开头,并且推送到远程分支,导致我每次拉取代码会将我本地文件名改成小写,并且我手动改成大写后推送到远端仓库,远端仓库文件名无变化,还是小写. 查证后 ...

  10. 开源云同步的markdown写作软件——Yosoro

    文章目录 前言 简便的项目管理 舒服的写作体验 支持one driver 存在缺点 前言 Yosoro是一款支持在Win.Linux.macOS上使用的写作软件.它的界面设计以及交互上表达出的极简主义 ...