как сделать условный декоратор в python

Можно ли условно декорировать функцию. Например, я хочу украсьте функцию foo()функцией таймера ( timeit), только функция doing_performance_analysis имеет значение True(см. псевдокод ниже).

if doing_performance_analysis:
  @timeit
  def foo():
    """
    do something, timeit function will return the time it takes
    """
    time.sleep(2)
else:
  def foo():
    time.sleep(2)  
24
задан Martijn Pieters 2 January 2019 в 10:04
поделиться