unknown 3 месяцев назад
Родитель
Сommit
8377a085ba
1 измененных файлов с 29 добавлено и 2 удалено
  1. 29 2
      courses/python_func/decorator.py

+ 29 - 2
courses/python_func/decorator.py

@@ -79,6 +79,30 @@ def multiply(num1, num2):
     print(num1 * num2)
 
 
+def double_it(func):
+    '''Декоратор возвращает удвоенный результат вызова декорируемой функции'''
+    def inner(*args, **kwargs):
+        res = func(*args, **kwargs)
+        return res * 2
+    return inner
+
+
+@double_it
+def get_sum_kwargs_values(**kwargs):
+    return sum(kwargs.values())
+
+
+def uppercase_elements(func):
+    def inner(*args, **kwargs):
+        res = func(*args, **kwargs)
+        if isinstance(res, dict):
+            return {key:value for key, value in res.items()}
+    return inner
+
+
+@uppercase_elements
+def foo_1(**kwargs):
+    return {1: 'one', 2: 'store', 'three': 3, 'four': 4} | kwargs
 
 
 def main():
@@ -88,8 +112,11 @@ def main():
     # res = one_more_func("gennadi", "LOSKOV")
     # print(f'{res=}')
    
-   print(multiply(3, 5))
-   
+#    print(multiply(3, 5))
+
+    # print(get_sum_kwargs_values(a=4, b=5, d=3, t=6, r=8))
+    print(foo_1(**{'Five': 5, 'sIx': 6}))
+
 
 
 if __name__ == '__main__':