首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
全网最得当入门的面向对象编程教程:17 类和对象的Pytho ...
返回列表
发新帖
全网最得当入门的面向对象编程教程:17 类和对象的Python实现-鸭子类型与“
[复制链接]
发表于 2024-7-15 23:48:28
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
全网最得当入门的面向对象编程教程:17 类和对象的 Python 实现-鸭子类型与“file-like object“
摘要:
本文主要介绍了 Python 中创建自界说类时鸭子类型的基本界说、特点和应用场景,同时列举了
“file-like object“
的例子对鸭子类型进行了说明。
原文链接:
FreakStudio的博客
往期保举:
学嵌入式的你,还不会面向对象??!
全网最得当入门的面向对象编程教程:00 面向对象设计方法导论
全网最得当入门的面向对象编程教程:01 面向对象编程的基本概念
全网最得当入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类
全网最得当入门的面向对象编程教程:03 类和对象的 Python 实现-为自界说类添加属性
全网最得当入门的面向对象编程教程:04 类和对象的Python实现-为自界说类添加方法
全网最得当入门的面向对象编程教程:05 类和对象的Python实现-PyCharm
代码
标签
全网最得当入门的面向对象编程教程:06 类和对象的Python实现-自界说类的数据封装
全网最得当入门的面向对象编程教程:07 类和对象的Python实现-类型注解
全网最得当入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器
全网最得当入门的面向对象编程教程:09 类和对象的Python实现-类之间的关系
全网最得当入门的面向对象编程教程:10 类和对象的Python实现-类的继承和里氏替换原则
全网最得当入门的面向对象编程教程:11 类和对象的Python实现-子类调用父类方法
全网最得当入门的面向对象编程教程:12 类和对象的Python实现-Python使用logging模块输出步伐运行日记
全网最得当入门的面向对象编程教程:13 类和对象的Python实现-可视化阅读
代码
神器Sourcetrail的安装使用
全网最得当入门的面向对象编程教程:全网最得当入门的面向对象编程教程:14 类和对象的Python实现-类的静态方法和类方法
全网最得当入门的面向对象编程教程:15 类和对象的 Python 实现-__slots__邪术方法
全网最得当入门的面向对象编程教程:16 类和对象的Python实现-多态、方法重写与开闭原则
更多精彩内容可看:
给你的 Python 加加速:一文速通 Python 并行计算
一文搞懂 CM3 单片机调试原理
肝了半个月,嵌入式技术栈大汇总出炉
电子计算机类角逐的“武林秘笈”
一个MicroPython的开源项目集锦:awesome-micropython,包罗各个方面的Micropython工具库
文档
和
代码
获取:
可访问如下链接进行对
文档
下载:
https://github.com/leezisheng/Doc
本
文档
主要介绍怎样使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他解说 Python 面向对象编程的博客或册本而言,本文档更加具体、侧重于嵌入式上位机应用,以上位机和下位机的常见串口数据收发、数据处理、动态图绘制等为应用实例,同时使用 Sourcetrail 代码软件对代码进行可视化阅读便于读者理解。
相关示例代码获取链接如下:
https://github.com/leezisheng/Python-OOP-Demo
正文
现实上对于 IsSerialConnected 函数来说,任何具有 RetSerialState 方法的对象都可以传入,Python 中的这种多态通常称为
鸭子类型
。
“如果它走像鸭子、游泳像鸭子,那么它就是一只鸭子”
。我们
不关心它是否真的是一只(继承自)鸭子,只需要知道它可以游泳或走路即可。
鹅和天鹅很容易为我们提供鸭子一样的行为,这答应我们在未来的设计中无须为水鸟们指定继承关系就可以创建新的鸟类类型,同时也答应设计人员创建与初志完全不同行为的类。例如,未来的设计人员可能创建一个会走路和游泳的企鹅类型,它
同样实用于相同的接口但设计人员完全没有想过将其归类为鸭子
。
在鸭子类型中,重点关注的是对象的行为和方法,而不是对象的具体类型或类。如果一个对象具备特定的方法或属性,那么它就可以被视为拥有特定的类型,而不必显式声明或继承该类型。这种方式答应 Python 在运行时动态确定对象的类型,从而使代码更加机动和简洁。
Python 的
“file-like object“
就是一种鸭子类型。对真正的文件对象,它有一个 read()方法,返回其内容。但是,很多对象,只要有 read()方法,都被视为“file-like object“。很多函数接收的参数就是“file-like object“,你不一定要传入真正的文件对象,完全可以传入任何实现了 read()方法的对象。
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
数据仓库与分析
DevOps与敏捷开发
前端开发
数据安全
SQL-Server
SAP
运维.售后
物联网
立山
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表