Add problem for seventh seminar

main
Aleksey Zubakov 2 years ago
parent 6e72f80aa6
commit 910249657a
  1. 21
      07_python/README.md
  2. 17
      07_python/deco_troubles.py
  3. 8
      07_python/ex.py

@ -0,0 +1,21 @@
### Задаание 1
Используя библиотеку `time`, написать декоратор `@bench(n)`,
который меняет функцию так, чтобы при каждом её вызове она
вычислялась не один раз, а `n` раз, при этом необходимо выводить:
- имя функции;
- аргументы;
- средняя время работы за `n` запусков;
```python
@bench(50)
def foo(a: int, b: int):
...
>>> foo(5, 5)
<... foo> (5, 5) {}
Mean execution time on <N> calls: ???ns
```

@ -0,0 +1,17 @@
def deco(f):
def inner(*args, **kwargs):
print(f)
return f(*args, **kwargs)
return inner
# @deco
def foo():
"""
Foo is just a function.
"""
return None
foo = deco(foo)

@ -0,0 +1,8 @@
def deco_ch(f):
f.jjjjj = 10
return f
@deco_ch
def foo():
print(foo.jjjjj)
Loading…
Cancel
Save