1
- __author__ = 'ipetrash'
2
-
3
-
4
- if __name__ == '__main__' :
5
- def getprint (str = "hello world!" ):
6
- print (str )
7
-
8
- def decor (func ):
9
- def wrapper (* args , ** kwargs ):
10
- print ("1 begin: " + func .__name__ )
11
- print ("Args={} kwargs={}" .format (args , kwargs ))
12
- f = func (* args , ** kwargs )
13
- print ("2 end: " + func .__name__ + "\n " )
14
- return f
15
- return wrapper
16
-
17
- def predecor (w = "W" ):
18
- print (w , end = ': ' )
19
-
20
- getprint ()
21
- getprint ("Py!" )
22
- print ()
23
- f = decor (getprint )
24
- f ()
25
- f ("Py!" )
26
-
27
-
28
- def rgb2hex (get_rgb_func ):
29
- def wrapper (* args , ** kwargs ):
30
- r , g , b = get_rgb_func (* args , ** kwargs )
31
- return '#{:02x}{:02x}{:02x}' .format (r , g , b )
32
- return wrapper
33
-
34
- class RGB :
35
- def __init__ (self ):
36
- self ._r = 0xff
37
- self ._g = 0xff
38
- self ._b = 0xff
39
-
40
- def getr (self ):
41
- return self ._r
42
- def setr (self , r ):
43
- self ._r = r
44
- r = property (getr , setr )
45
-
46
- def getg (self ):
47
- return self ._g
48
- def setg (self , g ):
49
- self ._g = g
50
- g = property (getg , setg )
51
-
52
- def getb (self ):
53
- return self ._b
54
- def setb (self , b ):
55
- self ._b = b
56
- b = property (getb , setb )
57
-
58
- def setrgb (self , r , g , b ):
59
- self .r , self .g , self .b = r , g , b
60
-
61
- @rgb2hex
62
- def getrgb (self ):
63
- return (self .r , self .g , self .b )
64
-
65
-
66
- rgb = RGB ()
67
- print ('rgb.r={}' .format (rgb .r ))
68
- rgb .setrgb (0xff , 0x1 , 0xff )
69
- print ("rgb.getrgb(): %s" % rgb .getrgb ())
70
- print ()
71
-
72
- @decor
73
- def foo (a , b ):
74
- print ("{} ^ {} = {}" .format (a , b , (a ** b )))
75
-
76
- foo (2 , 3 )
77
- foo (b = 3 , a = 2 )
1
+ __author__ = "ipetrash"
2
+
3
+
4
+ def getprint (str = "hello world!" ):
5
+ print (str )
6
+
7
+
8
+ def decor (func ):
9
+ def wrapper (* args , ** kwargs ):
10
+ print ("1 begin: " + func .__name__ )
11
+ print ("Args={} kwargs={}" .format (args , kwargs ))
12
+ f = func (* args , ** kwargs )
13
+ print ("2 end: " + func .__name__ + "\n " )
14
+ return f
15
+
16
+ return wrapper
17
+
18
+
19
+ def predecor (w = "W" ):
20
+ print (w , end = ": " )
21
+
22
+
23
+ getprint ()
24
+ getprint ("Py!" )
25
+ print ()
26
+ f = decor (getprint )
27
+ f ()
28
+ f ("Py!" )
29
+
30
+
31
+ def rgb2hex (get_rgb_func ):
32
+ def wrapper (* args , ** kwargs ):
33
+ r , g , b = get_rgb_func (* args , ** kwargs )
34
+ return "#{:02x}{:02x}{:02x}" .format (r , g , b )
35
+
36
+ return wrapper
37
+
38
+
39
+ class RGB :
40
+ def __init__ (self ):
41
+ self ._r = 0xFF
42
+ self ._g = 0xFF
43
+ self ._b = 0xFF
44
+
45
+ def getr (self ):
46
+ return self ._r
47
+
48
+ def setr (self , r ):
49
+ self ._r = r
50
+
51
+ r = property (getr , setr )
52
+
53
+ def getg (self ):
54
+ return self ._g
55
+
56
+ def setg (self , g ):
57
+ self ._g = g
58
+
59
+ g = property (getg , setg )
60
+
61
+ def getb (self ):
62
+ return self ._b
63
+
64
+ def setb (self , b ):
65
+ self ._b = b
66
+
67
+ b = property (getb , setb )
68
+
69
+ def setrgb (self , r , g , b ):
70
+ self .r , self .g , self .b = r , g , b
71
+
72
+ @rgb2hex
73
+ def getrgb (self ):
74
+ return (self .r , self .g , self .b )
75
+
76
+
77
+ rgb = RGB ()
78
+ print ("rgb.r={}" .format (rgb .r ))
79
+ rgb .setrgb (0xFF , 0x1 , 0xFF )
80
+ print ("rgb.getrgb(): %s" % rgb .getrgb ())
81
+ print ()
82
+
83
+
84
+ @decor
85
+ def foo (a , b ):
86
+ print ("{} ^ {} = {}" .format (a , b , (a ** b )))
87
+
88
+
89
+ foo (2 , 3 )
90
+ foo (b = 3 , a = 2 )
0 commit comments