不愿染是与非 发表于 2024-7-4 05:33:57

全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装

全网最适合入门的面向对象编程教程:08 类和对象的 Python 实现-@property 装饰器:把方法包装成属性

摘要:

本文主要对@property 装饰器的基本定义、使用场景和使用方法进行了介绍,同时介绍了setter装饰器和deleter装饰器的应用场景和语法。
原文链接:

FreakStudio 的博客
往期推荐:

学嵌入式的你,还不会面向对象??!
全网最适合入门的面向对象编程教程:00 面向对象设计方法导论
全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念
全网最适合入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类
全网最适合入门的面向对象编程教程:03 类和对象的 Python 实现-为自定义类添加属性
全网最适合入门的面向对象编程教程:04 类和对象的Python实现-为自定义类添加方法
全网最适合入门的面向对象编程教程:05 类和对象的Python实现-PyCharm代码标签
全网最适合入门的面向对象编程教程:06 类和对象的Python实现-自定义类的数据封装
全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解
更多精彩内容可看:

给你的 Python 加加速:一文速通 Python 并行计算
一文搞懂 CM3 单片机调试原理
肝了半个月,嵌入式技术栈大汇总出炉
电子计算机类比赛的“武林秘籍”
一个MicroPython的开源项目集锦:awesome-micropython,包含各个方面的Micropython工具库
文档和代码获取

可访问如下链接进行对文档下载:
FreakStudio-一文速通面向对象编程-文档

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

上一篇文章链接:
全网最适合入门的面向对象编程教程:06 类和对象的 Python 实现-自定义类的数据封装
上面程序中,使用@property 修饰了 devstate()方法,这样就使得该方法变成了 devstate 属性的 getter 方法。
这里用如下语句直接通过方法名来访问方法:
s = SerialClass()
print(s.devstate)程序运行如下:

property 装饰器主要应用在以下场景:

[*]保护类的封装特性
[*]让开发者可以使用“对象.属性”的方式操作操作类属性
@property 的语法格式如下:
@property
def 方法名(self)
    代码块类似的要想实现修改 devstate 属性的值,还需要为属性添加 setter 方法,就需要用到 setter 装饰器
它的语法格式如下:
@方法名.setter
def 方法名(self, value):
    代码块除此之外,还可以使用 deleter 装饰器来删除指定属性,其语法格式为:
@方法名.deleter
def 方法名(self):
    代码块关于装饰器更详细的介绍可以看如下链接,这里不做过多赘述:
https://www.runoob.com/w3cnote/python-func-decorators.html


来源:https://www.cnblogs.com/FreakEmbedded/p/18282815
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装