Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
@decorator
def my_func(): passdef my_funk():pass
my_funk = decorator(my_funk)def counter(func): """ Декоратор, считающий и выводящий количество вызовов декорируемой функции. """ counter.count[func.__name__] = 0 def wrapper(*args, **kwargs): counter.count[func.__name__] += 1 res = func(*args, **kwargs) print "{0} была вызвана: {1}x".format(func.__name__, counter.count[func.__name__]) return res return wrapper
counter.count = {}
def counter(func):
"""
A decorator that counts and prints the number of times a function has been executed
"""
def wrapper(*args, **kwargs):
wrapper.count = wrapper.count + 1
res = func(*args, **kwargs)
print "{0} has been used: {1}x".format(func.__name__, wrapper.count)
return res
wrapper.count = 0
return wrapper
str(reversed(string))
string[::-1]
# или
"".join(reversed(string))
Понимаем декораторы в Python'e, шаг за шагом. Шаг 2