Skip to content

Commit 30aeac4

Browse files
committed
Refactoring. Using black code style
1 parent eba9d47 commit 30aeac4

13 files changed

+157
-128
lines changed

Decorators__examples/append_attributes_to_class.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
def attrs(**kwargs):
@@ -22,4 +22,7 @@ class Foo:
2222
print(Foo.author) # Guido van Rossum
2323
print(Foo().author) # Guido van Rossum
2424
print(Foo().version) # 2.2
25-
print(list(filter(lambda x: not x.startswith('_'), dir(Foo())))) # ['author', 'version']
25+
print(
26+
list(filter(lambda x: not x.startswith("_"), dir(Foo())))
27+
)
28+
# ['author', 'version']

Decorators__examples/append_attributes_to_func.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
def attrs(**kwargs):
@@ -14,10 +14,10 @@ def decorate(f):
1414

1515

1616
@attrs(versionadded="2.2", author="Guido van Rossum")
17-
def mymethod(text='ok'):
17+
def mymethod(text="ok"):
1818
return text
1919

2020

2121
print(mymethod.author) # Guido van Rossum
2222
print(mymethod()) # ok
23-
print(mymethod('no')) # ok
23+
print(mymethod("no")) # ok
+15-12
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
5+
6+
7+
from collections import defaultdict
58

69

710
class Collector:
811
def __init__(self):
912
self.handlers = []
10-
11-
from collections import defaultdict
1213
self.handlers_by_name = defaultdict(list)
1314

14-
def add(self, name='default'):
15+
def add(self, name="default"):
1516
def decorator(func):
1617
self.handlers.append(func)
1718
self.handlers_by_name[name].append(func)
@@ -24,27 +25,29 @@ def decorator(func):
2425
collector = Collector()
2526

2627

27-
@collector.add(name='test')
28-
def hello_world(end='!'):
29-
print('hello world' + end)
28+
@collector.add(name="test")
29+
def hello_world(end="!"):
30+
print("hello world" + end)
3031

3132

3233
print(collector.handlers) # [<function hello_world at 0x002A6738>]
33-
print(collector.handlers_by_name) # defaultdict(<class 'list'>, {'test': [<function hello_world at 0x00310198>]})
34+
print(collector.handlers_by_name)
35+
# defaultdict(<class 'list'>, {'test': [<function hello_world at 0x00310198>]})
3436

35-
hello_world('!!!') # hello world!!!
37+
hello_world("!!!") # hello world!!!
3638
hello_world() # hello world!
3739
print(collector.handlers) # [<function hello_world at 0x002A6738>]
3840
collector.handlers[0]() # hello world!
3941

4042

41-
@collector.add(name='this it say_hello!')
43+
@collector.add(name="this it say_hello!")
4244
def say_hello():
43-
print('hello!')
45+
print("hello!")
4446

4547

4648
print()
47-
print(collector.handlers) # [<function hello_world at 0x002A6738>, <function say_hello at 0x007010C0>]
49+
print(collector.handlers)
50+
# [<function hello_world at 0x002A6738>, <function say_hello at 0x007010C0>]
4851
print(len(collector.handlers_by_name)) # 2
4952
for func in collector.handlers:
5053
func()

Decorators__examples/combine_decorators.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
import functools
@@ -36,6 +36,7 @@ def deco(f):
3636
for dec in reversed(decs):
3737
f = dec(f)
3838
return f
39+
3940
return deco
4041

4142

@@ -59,8 +60,8 @@ def hello_2(text):
5960
return text
6061

6162

62-
print(hello('Hello World!'))
63+
print(hello("Hello World!"))
6364
# <b><i>HELLO WORLD!</i></b>
6465

65-
print(hello_2('Hello World!'))
66+
print(hello_2("Hello World!"))
6667
# <b><i>HELLO WORLD!</i></b>

Decorators__examples/combine_decorators__with_args.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
import functools
88

99

1010
def get_attrs_str(kwargs: dict) -> str:
11-
attrs = ''
11+
attrs = ""
1212
if kwargs:
13-
attrs = ' ' + ' '.join(f'{k}="{v}"' for k, v in kwargs.items())
13+
attrs = " " + " ".join(f'{k}="{v}"' for k, v in kwargs.items())
1414

1515
return attrs
1616

@@ -52,6 +52,7 @@ def deco(f):
5252
for dec in reversed(decs):
5353
f = dec(f)
5454
return f
55+
5556
return deco
5657

5758

@@ -75,8 +76,8 @@ def hello_2(text):
7576
return text
7677

7778

78-
print(hello('Hello World!'))
79+
print(hello("Hello World!"))
7980
# <b foo="1"><i bar="2">HELLO WORLD!</i></b>
8081

81-
print(hello_2('Hello World!'))
82+
print(hello_2("Hello World!"))
8283
# <b foo="1"><i bar="2">HELLO WORLD!</i></b>

Decorators__examples/decorator__args_as_funcs.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
class TextBuilder:
@@ -44,14 +44,17 @@ def wrapper(self, *args, **kwargs):
4444
# Возаращаем сам декоратор
4545
return decorator
4646

47-
@_call_before(lambda self: self.result.append('+' + '-' * 10 + '+'))
48-
@_call_after(lambda self: self.result.append('+' + '-' * 10 + '+'), lambda self: self.result.append('\n'))
49-
def append(self, text: str) -> 'TextBuilder':
47+
@_call_before(lambda self: self.result.append("+" + "-" * 10 + "+"))
48+
@_call_after(
49+
lambda self: self.result.append("+" + "-" * 10 + "+"),
50+
lambda self: self.result.append("\n"),
51+
)
52+
def append(self, text: str) -> "TextBuilder":
5053
self.result.append(text)
5154
return self
5255

5356
def build(self):
54-
return '\n'.join(self.result)
57+
return "\n".join(self.result)
5558

5659

5760
builder = TextBuilder()

Decorators__examples/example_1.py

+90-77
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,90 @@
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)

Decorators__examples/hello_world.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
import functools
@@ -38,7 +38,7 @@ def hello(text):
3838
return text
3939

4040

41-
print(hello('Hello World!'))
41+
print(hello("Hello World!"))
4242
# <b><i>HELLO WORLD!</i></b>
4343

44-
assert hello('Hello World!') == '<b><i>HELLO WORLD!</i></b>'
44+
assert hello("Hello World!") == "<b><i>HELLO WORLD!</i></b>"

Decorators__examples/memoize_class.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
33

4-
__author__ = 'ipetrash'
4+
__author__ = "ipetrash"
55

66

77
# Using memoization as decorator (decorator-class)

0 commit comments

Comments
 (0)