1 class Test(object): 2 @property 3 def test(self): 4 return 100 5 6 @test.setter 7 def test(self): 8 return "修改" 9 10 @test.deleter 11 def test(self): 12 return "删除" 13 14 15 obj = Test().test 16 obj = 200 17 print(type(obj)) 18 print(obj) 19 del obj 20 print(obj) 21 22 # 结论:此方法的好处在于,调用类中的一个方法无需加括号(此时就无需考虑是否传参) 23 24 25 26 # 思考:是否还有更简单的方式 27 28 class Test(object): 29 30 def geter_test(self): 31 return 100 32 33 def setter_test(self): 34 return "修改" 35 36 def delater_test(self): 37 return "删除" 38 num = property(geter_test,setter_test,delater_test,"描述") 39 # property(获取值方法,设置值函数,删除值函数,描述) #酌情添加(获取,设置,删除)方法 40 41 obj = Test().num 42 obj = 200 43 del obj 44 print(obj) 45 46 # property 应用场景: 47 # 将处理过程封装在类方法内,暴露的是只是一个接口(类似属性),但是此类属性可以更改其获取,设置和删除的权限 48 # 电商网站,修改打折