property属性
Posted urls
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了property属性相关的知识,希望对你有一定的参考价值。
可以把方法变成属性 : 可以动态的控制属性的获取,设置,删除相关操作
@property 获取属性
@方法名.setter 设置属性
@方法名.deleter 删除属性
# 方法一 """是同一个方法名""" class MyClass(): def __init__(self,name): self.name = name @property def username(self): return self.name # pass @username.setter def username(self,val): # print(val) self.name = val pass @username.deleter def username(self): # print("222") del self.name pass obj = MyClass("小红") # 获取值的时候自动触发@property 装饰器下的方法 res = obj.username print(res) # 设置值的时候自动触发@username.setter 装饰器下的方法 obj.username = "小兰" print(obj.username) # 删除值的时候自动触发@username.deleter 装饰器下的方法 # del obj.username # print(obj.username) # 方法二 class MyClass(): def __init__(self,name): self.name = name # 获取数据 def get_username(self): return self.name # 设置数据 def set_username(self,val): self.name = val # 删除数据 def del_username(self): del self.name # 参数的顺序: 获取 , 设置 , 删除 username = property(get_username , set_username , del_username ) obj = MyClass("小芳") # 获取值的时候,执行get_username下的相关操作 print(obj.username) # 设置值的时候,执行 set_username 下的相关操作 obj.username = "11223344" print(obj.username) # 删除值的时候,执行 del_username 下的相关操作 del obj.username print(obj.username)
以上是关于property属性的主要内容,如果未能解决你的问题,请参考以下文章
Failed to convert property value of type ‘java.lang.String‘ to required type ‘int‘ for property(代码片段
使用 React 实验性中继片段:缺少属性 '"$fragmentRefs"'
Vue报错:Uncaught TypeError: Cannot assign to read only property 'exports' of object 的解决方法(代码片段