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自定义用户认证示例详解

Django自定义用户认证示例详解

前言 Django附带的认证对于大多数常见情况来说已经足够了,但是如何在 Django 中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法就是自定义好数据表后,使用OnetoOne...

python编程通过蒙特卡洛法计算定积分详解

python编程通过蒙特卡洛法计算定积分详解

想当初,考研的时候要是知道有这么个好东西,计算定积分。。。开玩笑,那时候计算定积分根本没有这么简单的。但这确实给我打开了一种思路,用编程语言去解决更多更复杂的数学问题。下面进入正题。...

详解Python中如何写控制台进度条的整理

详解Python中如何写控制台进度条的整理

本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧。分享给大家供大家参考。具体方法如下: 首先,进度条和一般的print区别在哪里呢? 答案就是print...

python3 requests库文件上传与下载实现详解

在接口测试学习过程中,遇到了利用requests库进行文件下载和上传的问题。同样,在真正的测试过程中,我们不可避免的会遇到上传和下载的测试。 文件上传: url = ztx.host...

Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】

本文实例讲述了Python函数基础用法。分享给大家供大家参考,具体如下: 一、什么是命名关键字参数? 格式: 在*后面参数都是命名关键字参数。 特点: 1、约束函数的调用者必须按照Kye...