wie man einen bedingten Dekorateur in Python macht

Ist es möglich, eine Funktion bedingt zu dekorieren. Zum Beispiel möchte ich die Funktion dekorierenfoo() mit einer Timerfunktion (timeit) nur doing_performance_analysis istTrue (Siehe den Pseudocode unten).

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)  

Antworten auf die Frage(6)

Ihre Antwort auf die Frage