python @properity的应用
2021/12/19 1:20:30
本文主要是介绍python @properity的应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class Cell: #使用@property修饰方法,相当于为改属性设置getter方法 @property def state(self): return self._state #为state属性设置setter方法,这样state属性就变成了读写属性 @state.setter def state(self,value): if 'alive' in value.lower(): self._state = 'alive' else: self._state = 'dead' #使用@property修饰方法is_dead,is_dead()就变成了只读属性 @property def is_dead(self): return not self._state.lower() == "alive" c = Cell() c.state = 'Al' print(c.state) print(c.is_dead)
dead True 请按任意键继续. . .
class Cell: #使用@property修饰方法,相当于为改属性设置getter方法 @property def state(self): return self._state #为state属性设置setter方法,这样state属性就变成了读写属性 @state.setter def state(self,value): if 'alive' in value.lower(): self._state = 'alive' else: self._state = 'dead' #使用@property修饰方法is_dead,is_dead()就变成了只读属性 @property def is_dead(self): return not self._state.lower() == "alive" c = Cell() c.state = 'Alive' print(c.state) print(c.is_dead)
alive False 请按任意键继续. . .
properity()函数的使用格式如下:
properity(fget=None, fset=None, fdel=None, doc=None)
从上面的语法可以看出来,使用property函数的时候可以传入4个参数,但是也可以根据需要传入参数
class Rectangle: def __init__(self,width,height): self.width = width self.height = height def setsize(self,size): self.width , self.height = size def getsize(self): return self.width,self.height def delsize(self): self.width, self.height = 0,0 size = property(getsize,setsize,delsize,"用于描述矩形大小的属性") #访问size属性的说明文档 print(Rectangle.size.__doc__) #通过内置的help函数来访问size属性的说明文档 help(Rectangle.size) rect = Rectangle(3,4) print(rect.size)#3,4 rect.size = 33,44 print(rect.width)#3 print(rect.height)#4 del rect.size print(rect.width)#0 print(rect.height)#0
用于描述矩形大小的属性 Help on property: 用于描述矩形大小的属性 (3, 4) 33 44 0 0 请按任意键继续. . .
这篇关于python @properity的应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础