D20_property
Posted banbosuiyue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D20_property相关的知识,希望对你有一定的参考价值。
# ### property
把方法变成属性:用来控制成员的 获取 , 设置 , 删除
@property 获取
@方法名.setter 设置property
@方法名.deleter 删除
# 写法一
class MyClass():
def __init__(self,name):
self.name = name
# 获取
@property
def username(self):
# return self.name
pass
# 设置
@username.setter
def username(self,val):
# self.name = val
pass
# 删除
@username.deleter
def username(self):
# del self.name
pass
obj = MyClass("奥特曼")
# 获取username 触发property修饰的方法
res = obj.username
print(res)
# 设置username 触发username.setter修饰的方法 #设置就是指更改
obj.username = "小怪兽"
print(obj.username)
# del obj.username 触发sername.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
pass
# 必须按照这个顺序进行传递:(获取方法 , 设置方法 , 删除方法),且只能传这3个参数
username = property(get_username,set_username,del_username)
当获取,设置,删除对象的成员时, 触发上述方法,
以上是关于D20_property的主要内容,如果未能解决你的问题,请参考以下文章