summaryrefslogtreecommitdiff
path: root/day5
diff options
context:
space:
mode:
Diffstat (limited to 'day5')
-rw-r--r--day5/task2/task2.py31
-rw-r--r--day5/task3/task3.py29
2 files changed, 60 insertions, 0 deletions
diff --git a/day5/task2/task2.py b/day5/task2/task2.py
new file mode 100644
index 0000000..e54b4a3
--- /dev/null
+++ b/day5/task2/task2.py
@@ -0,0 +1,31 @@
+def bread(func):
+ def wrapper(*args, **kwargs):
+ print('---хлеб---')
+
+ func(*args, **kwargs)
+
+ print('---хлеб---')
+
+ return wrapper
+
+
+def ingredients(func):
+ def wrapper(*args, **kwargs):
+ for ingredient in ['кетчуп', 'сыр']:
+ print('---%s---' % ingredient)
+
+ func(*args, **kwargs)
+
+ for ingredient in ['кетчуп', 'сыр'][::-1]:
+ print('---%s---' % ingredient)
+
+ return wrapper
+
+
+@bread
+@ingredients
+def main_ingredient(meat):
+ print('---%s---' % meat)
+
+
+main_ingredient('ветчина')
diff --git a/day5/task3/task3.py b/day5/task3/task3.py
new file mode 100644
index 0000000..d3006e5
--- /dev/null
+++ b/day5/task3/task3.py
@@ -0,0 +1,29 @@
+# Оригинал
+"""
+def decor(some_params):
+ def wrapper(pr_function_like_an_arg):
+ print(some_params)
+ return pr_function_like_an_arg
+
+ return wrapper
+
+
+@decor('some_params')
+def pr_function():
+ print(' hi! ')
+
+
+print('---')
+
+
+pr_function()
+"""
+
+
+def pr_function():
+ print(' hi! ')
+
+
+print('some_params')
+print('---')
+pr_function()