Я знаю, как декораторы обычно используются для функций Python.
Существует ли аналогичная концепция / синтаксис для отдельных строк кода?
Пример: с
def measuretime(lineofcode):
start = time.time()
lineofcode()
print time.time() - start
1010 * тогда *
@measuretime
im = Image.open(BytesIO(base64.b64decode(data)))
будет интерпретироваться как
start = time.time()
im = Image.open(BytesIO(base64.b64decode(data)))
print time.time() - start
Примечания:
Я знаю, что время выполнения измерения не является оптимальным, лучше использовать timeit
и т. Д., Но это просто случайный пример, показывающий, что я ищу (декораторы для отдельные строки кода)
Я ищу решение для 1 или 2 строк кода (+ определение функции, конечно). Если решение занимает более 2 строк кода (то есть больше, чем что-то вроде @measuretime
), то, вероятно, лучше отказаться и просто сделать обычное:
start = time.time()
im = Image.open(BytesIO(base64.b64decode(data)))
print time.time() - start