全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器:把方法包装成属性
全网最适合入门的面向对象编程教程:08 类和对象的 Python 实现-@property 装饰器:把方法包装成属性
摘要:
本文主要对@property 装饰器的基本定义、使用场景和使用方法进行了介绍,同时介绍了setter装饰器和deleter装饰器的应用场景和语法。
原文链接:
往期推荐:
全网最适合入门的面向对象编程教程:00 面向对象设计方法导论
全网最适合入门的面向对象编程教程:01 面向对象编程的基本概念
全网最适合入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类
全网最适合入门的面向对象编程教程:03 类和对象的 Python 实现-为自定义类添加属性
全网最适合入门的面向对象编程教程:04 类和对象的Python实现-为自定义类添加方法
全网最适合入门的面向对象编程教程:05 类和对象的Python实现-PyCharm代码标签
全网最适合入门的面向对象编程教程:06 类和对象的Python实现-自定义类的数据封装
全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解
更多精彩内容可看:
给你的 Python 加加速:一文速通 Python 并行计算
一个MicroPython的开源项目集锦:awesome-micropython,包含各个方面的Micropython工具库
文档和代码获取
可访问如下链接进行对文档下载:
本文档主要介绍如何使用 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):
代码块
关于装饰器更详细的介绍可以看如下链接,这里不做过多赘述: