Я бы посмотрел ссылки, которые я разместил в комментариях, для более подробной информации о %
и .format()
.
Для ленивого оценочного вопроса ответом будет нет .
Простой тест сделает
def func1(x):
time.sleep(5)
return(x)
def func2(x):
#time.sleep(5)
return(x)
%timeit 'debug1: %s' % func1(3)
5 s ± 1.31 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit 'debug2: {}'.format(func1(3))
5 s ± 1.45 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit 'debug1: %s' % func2(3)
297 ns ± 11.2 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
%timeit 'debug2: {}'.format(func2(3))
404 ns ± 4.56 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
В обоих .format
(очевидно,) и %
подходы, func()
вычисляется в любом случае.