Fstrings
Если вы используете Python 3.6+
, вы можете использовать новый так называемый f-strings
, который обозначает отформатированные строки, и его можно использовать, добавив символ f
в начале строки, чтобы идентифицировать его как е-строка .
price = 123
name = "Jerry"
print(f"{name}!!, {price} is much, isn't {price} a lot? {name}!")
>Jerry!!, 123 is much, isn't 123 a lot? Jerry!
Основным преимуществом использования f-строк является то, что они более читабельны, быстрее и предлагают лучшую производительность:
Исходные панды для всех: анализ данных Python, Даниэль Й. Чен
Тесты
Нет сомнений, что новые f-strings
более читабельны, так как вам не нужно переназначать строки, но быстрее ли это, как указано в вышеупомянутой цитате?
price = 123
name = "Jerry"
def new():
x = f"{name}!!, {price} is much, isn't {price} a lot? {name}!"
def old():
x = "{1}!!, {0} is much, isn't {0} a lot? {1}!".format(price, name)
import timeit
print(timeit.timeit('new()', setup='from __main__ import new', number=10**7))
print(timeit.timeit('old()', setup='from __main__ import old', number=10**7))
> 3.8741058271543776 #new
> 5.861819514350163 #old
Запуск 10 миллионов тестов кажется, что новые f-strings
на самом деле быстрее в отображении.