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程序设计有所帮助。

相关文章

Django在admin后台集成TinyMCE富文本编辑器的例子

Django在admin后台集成TinyMCE富文本编辑器的例子

Django原生的TextField并不友好,集成TinyMCE富文本编辑器 Django版本:1.11.5 TinyMCE版本:4.6.7 第一步:从官网下载TinyMCE https...

python实现月食效果实例代码

python实现月食效果实例代码

我们在学习Python当中的pygame模块时,我们都知道我们可以通过使用 pygame模块实现很多功能性的东西,但是很多人应该不知道怎么通过使用pygame实现月食的效果吧,接下来我就...

Python切换pip安装源的方法详解

Python切换pip安装源的方法详解

一、pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。 Pip 是对easy_install的取代,提供了和easy_install...

Python操作Redis之设置key的过期时间实例代码

Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。 r.set('2', '4028b2883d3f5a8b013d57228d760a93') #成功就返回...

python3 深浅copy对比详解

一、赋值对比 1、列表 l1 = [1,2,3] l2 = l1 l1.append('a') print(l1,l2) #[1, 2, 3, 'a'] [1, 2,...