diff options
Diffstat (limited to 'day5')
| -rw-r--r-- | day5/task1/task1.py | 20 | ||||
| -rw-r--r-- | day5/task2/task2.py | 31 | ||||
| -rw-r--r-- | day5/task3/task3.py | 29 | ||||
| -rw-r--r-- | day5/task4/task4.py | 23 |
4 files changed, 103 insertions, 0 deletions
diff --git a/day5/task1/task1.py b/day5/task1/task1.py new file mode 100644 index 0000000..19aee5b --- /dev/null +++ b/day5/task1/task1.py @@ -0,0 +1,20 @@ +def ingredients(func): + def wrapper(*args, **kwargs): + _ingredients = ['хлеб', 'кетчуп', 'сыр'] + for ingredient in _ingredients: + print('---%s---' % ingredient) + + func(*args, **kwargs) + + for ingredient in _ingredients[::-1]: + print('---%s---' % ingredient) + + return wrapper + + +@ingredients +def main_ingredient(meat): + print('---%s---' % meat) + + +main_ingredient('ветчина') 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() diff --git a/day5/task4/task4.py b/day5/task4/task4.py new file mode 100644 index 0000000..6acf659 --- /dev/null +++ b/day5/task4/task4.py @@ -0,0 +1,23 @@ +def spoiler(func): + def wrapper(*args, **kwargs): + print('\\--', end='') + func(*args, **kwargs) + + return wrapper + + +def wheels(func): + def wrapper(*args, **kwargs): + func(*args, **kwargs) + print(' o o') + + return wrapper + + +@spoiler +@wheels +def regular_car(): + print("Lada седан, баклажан") + + +regular_car() |