当前位置: 代码迷 >> 综合 >> python property 用法说明
  详细解决方案

python property 用法说明

热度:96   发布时间:2023-12-23 09:34:30.0
class Foo:def __init__(self,val):self.__NAME=val #将所有的数据属性都隐藏起来@propertydef name(self):return self.__NAME #obj.name访问的是self.__NAME(这也是真实值的存放位置)@name.setterdef name(self,value):if not isinstance(value,str):  #在设定值之前进行类型检查raise TypeError('%s must be str' %value)self.__NAME=value #通过类型检查后,将值value存放到真实的位置self.__NAME@name.deleterdef name(self):raise TypeError('Can not delete')f=Foo('egon')
f.name="23"
f.name('43')
print(f.name)print(f.name)
# f.name=10 #抛出异常'TypeError: 10 must be str'
del f.name #抛出异常'TypeError: Can not delete'
  相关解决方案