Python 静态属性Property
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 静态属性Property相关的知识,希望对你有一定的参考价值。
定义:
是对象在使用函数时可以像使用属性的形式来表现
实例:
‘‘‘ 例:BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解) 成人的BMI数值: 过轻:低于18.5 正常:18.5-23.9 过重:24-27 肥胖:28-32 非常肥胖, 高于32 体质指数(BMI)=体重(kg)÷身高^2(m) EX:70kg÷(1.75×1.75)=22.86 ‘‘‘ class People: def __init__(self,name,weight,height): self.name=name self.weight=weight self.height=height @property def bmi(self): return self.weight / (self.height**2) p=People(‘egon‘,75,1.80) p.height=1.86 print(p.bmi()) print(p.bmi) #访问,设置,删除(了解) class Foo: def __init__(self,x): self.__Name=x @property def name(self): # 读取 return self.__Name @name.setter def name(self,val): # 设置 if not isinstance(val,str): raise TypeError self.__Name=val @name.deleter # 设置 def name(self): # print(‘=-====>‘) # del self.__Name raise PermissionError f=Foo(‘egon‘) print(f.name) f.name=‘Egon‘ f.name=123123123213 print(f.name) del f.name print(f.name)
以上是关于Python 静态属性Property的主要内容,如果未能解决你的问题,请参考以下文章
Python进阶-----property用法(实现了get,set,delete三种方法)
python-静态方法staticmethod类方法classmethod属性方法property
python 反射为类添加静态属性#setattr#@ property
面试必问python实例方法类方法@classmethod静态方法@staticmethod和属性方法@property区别