История изменений
Исправление eternal_sorrow, (текущая версия) :
from functools import wraps
def debug_func(func):
@wraps(func)
def wrapper(*args, **kwargs):
out = func(*args, **kwargs)
args_fmt = ", ".join([
f"{name}={val}" for name, val in zip(func.__code__.co_varnames, args)
])
print(f"in: args: {args_fmt}, kwargs={kwargs} out: {out}")
return result
return wrapper
сделал форматирование как в ОП
Исправление eternal_sorrow, :
from functools import wraps
def debug_func(func):
@wraps(func)
def wrapper(*args, **kwargs):
out = func(*args, **kwargs)
args_fmt = ", ".join([
f"{name}={val}" for name, val in zip(func.__code__.co_varnames, args)
])
print(f"in: args: {args_fmt}, kwargs={kwargs} out: {out}")")
return result
return wrapper
сделал форматирование как в ОП
Исправление eternal_sorrow, :
from functools import wraps
def debug_func(func):
@wraps(func)
def wrapper(*args, **kwargs):
# тут можно прикрутить какой нибудь хитрое форматирование,
# если нужно
print(f"args: {args}\nkwargs: {kwargs}")
result = func(*args, **kwargs)
print(f"result: {result}")
return result
return wrapper
Исходная версия eternal_sorrow, :
from functools import wraps
def debug_func(func):
@wraps(func)
def wrapper(*args, **kwargs):
# тут можно прикрутить какой нибудь хитрое форматирование,
# если нужно
print(f"args: {args}\nkwargs: {kwargs}")
result = func(*args, **kwargs)
print(f"result: {result}")
return result