1+
2+
3+ #create a circle
4+
5+ class Circle (object ):
6+
7+ def __init__ (self ,radius ,* args ,** kwargs ):
8+ self .radius = radius
9+ self .diameter = radius * 2
10+ self .area = 3.14 * (radius * radius )
11+
12+ ################################ radius
13+ @ property
14+ def radius (self ):
15+ return self ._radius
16+
17+ @ radius .setter
18+ def radius (self ,value ):
19+
20+ print ("*****im in radius setter \t " , end = "" )
21+
22+ if value < 1 : print ("that is a very small circle!" )
23+ if value > 3 : print ("that is a good size circle!" )
24+ self ._radius = value
25+
26+ ################################ diameter
27+ @ property
28+ def diameter (self ):
29+ return self ._radius * 2
30+
31+ @ diameter .setter
32+ def diameter (self ,value ):
33+ print ("*****im in diameter setter" )
34+ self ._radius = (value / 2 )
35+ self ._diameter = value
36+
37+ ################################ area
38+
39+ # def area(self):
40+ # return self._area
41+ #
42+ #
43+ # def area(self,value):
44+ # raise AttributeError
45+
46+
47+
48+ c1 = Circle (2 )
49+ print ("c1's radius is: {} and diameter is {} " .format (c1 .radius , c1 .diameter ))
50+
51+ c2 = Circle (3 )
52+ print ("c2's radius is: {} and diameter is {} " .format (c2 .radius , c2 .diameter ))
53+ #print("c2's diameter: " , c2.diameter)
54+ #print("c2's radius: " , c2.radius)
55+
56+ c2 .diameter = 7
57+ print ("c2's radius is: {} and diameter is {} " .format (c2 .radius , c2 .diameter ))
58+ # print("now c2's diameter: " , c2.diameter)
59+ # print("and c2's radius: " , c2.radius)
60+
61+ c1 .radius = 5
62+ print ("c1's radius is: {} and diameter is {} " .format (c1 .radius , c1 .diameter ))
63+
64+ print ("c1.area is {}" .format (c1 .area ))
65+ c1 .area = 14
66+ print ("c1.area is {}" .format (c1 .area ))
0 commit comments