#字段:静态字段和普通字段 #属性具有方法的表现形式,也有字段的访问形式 class Page: def __init__(self,all_count): self.all_count = all_count #属性 @property def all_page(self): a1,a2 = divmod(self.all_count,10) if a2 == 0: return a1 else: return a1+1 @all_page.setter def all_page(self,value): print(value) @all_page.deleter def all_page(self): print("del") def f1(self): return 123 def f2(self): pass def f3(self): pass foo = property(fget=f1,fset=f2,fdel=f3) p = Page(101) #调用字段 p.all_count = 102 #删除字段 del p.all_count #调用属性,不加() ret = p.all_page print(ret) #设置属性 p.all_page = 111 #删除属性 del p.all_page #自动调用foo中的fget方法,并将返回值赋给ret ret = p.foo print(ret) #自动调用foo中fset方法 p.foo = "chen" #自动调用fdel方法 del p.foo
面向对象-属性
最新推荐文章于 2024-10-09 22:39:24 发布