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实现的插入排序算法原理与用法。分享给大家供大家参考,具体如下: 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数...

TensorFlow Session使用的两种方法小结

TensorFlow Session使用的两种方法小结

TensorFlow Session 在TensorFlow中是通过session进行交互的,使用session有两种方法。下面通过一个简单的例子(两个矩阵相乘)说一下 {[3,1] 与...

Pytorch基本变量类型FloatTensor与Variable用法

Pytorch基本变量类型FloatTensor与Variable用法

pytorch中基本的变量类型当属FloatTensor(以下都用floattensor),而Variable(以下都用variable)是floattensor的封装,除了包含floa...

python操作mysql数据库

一、数据库基本操作 1. 想允许在数据库写中文,可在创建数据库时用下面命令 create database zcl charset utf8; 2. 查看students表结构 desc...

Pytorch 之修改Tensor部分值方式

一:背景引入 对于一张图片,怎样修改局部像素值? 二:利用Tensor方法 比如输入全零tensor,可认为为黑色图片 >>> n=torch.FloatT...