Decorators

def hello_decorator(func):
	def wrapper(*args, **kwargs):
		result = func(*args, **kwargs)
		return result
return wrapper

@hello_decorator
def add(a, b):
	return a + b 

if __name__ == '__main__':
	output = add(2, 2)
	print(output)

alt

from functools import wraps
import datetime as dt

def log_step(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
	  tic = dt.datetime.now()
	  result = func(*args, **kwargs)
	  time_taken = str(dt.datetime.now() - tic)
	  print(f"just ran step {func.__name__} shape={result.shape} took {time_taken}s")
	  return result
  return wrapper

Backlinks