python3.6中@property装饰器的使用方法示例

yipeiwu_com6年前Python基础

本文实例讲述了python3.6中@property装饰器的使用方法。分享给大家供大家参考,具体如下:

1、@property装饰器的使用场景简单记录如下:

  • 负责把一个方法变成属性调用;
  • 可以把一个getter方法变成属性,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值;
  • 只定义getter方法,不定义setter方法就是一个只读属性

2、通过一个例子来加深对@property装饰器的理解:利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution。

代码实现如下:

class Screen(object):
 @property
 def width(self):
 return self._width
 @width.setter
 def width(self,value):
 self._width = value
 @property
 def height(self):
 return self._height
 @height.setter
 def height(self,values):
 self._height = values
 @property
 def resolution(self):
 return self._width * self._height
s = Screen()
s.width = 1024
s.height = 768
print('resolution = ',s.resolution)
 

运行结果:

resolution =  786432

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

python使用正则筛选信用卡

python使用正则筛选信用卡

本文实例为大家分享了python使用正则筛选信用卡的具体代码,供大家参考,具体内容如下 本文来源于两个简单的题目: 1.判断一对单词是否是" Anagrams " 2.判断信用卡是否合理...

深入理解Python3中的http.client模块

http 模块简介 Python3 中的 http 包中含有几个用来开发 HTTP 协议的模块。 http.client 是一个底层的 HTTP 协议客户端,被更高层的 urlli...

python能调用ffmpeg和aria2c吗

是的,Python 可以调用 FFmpeg 和 aria2c 这两个工具。通常,我们通过以下几种方式来实现这一目的: ˂a class="reference-link" name="1. 使用 su...

python对指定目录下文件进行批量重命名的方法

本文实例讲述了python对指定目录下文件进行批量重命名的方法。分享给大家供大家参考。具体如下: 这段python代码可对c:\temp目录下的所有文件名为”scroll_1”文件替换为...

python数据结构之二叉树的遍历实例

遍历方案    从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作: &nb...