property属性和函数

1.property属性
class Women:
def __init__(self,age):
self.age=age
@property //函数名必须和参数名称一致
def age(self):
return self.age
@age.setter //必须为参数名.setter
def age(self,age):
if age>0 and age<100:
self.age=age
else:
age=0

w=Women(15)
w.age=50 //设置age的值
print(w.age)

2.property函数 property(fget=None, fset=None, fdel=None, doc=None)
class Person:
def __init__(self,name):
self.name=name
def get_name(self):
print("fetch")
return self.name
def set_name(self,name):
print("change")
self.name=name
def del_name(self):
print("remove")
del self.name
name=property(get_name,set_name,del_name,'name property docs')
#name=property(get_name,set_name) //可以设置get,set方法
p=Person('Bob')
p.name="smith"
print(p.name)
del p.name
print(Person.name.__doc__)
posted @ 2019-03-31 14:17  期待me  阅读(183)  评论(0)    收藏  举报