
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 # 电商网站,修改打折