07.04.2021 в 10:47
LegGnom
Самый быстрый способ форматирования строк в Python
Есть 3 способа форматирования строк в Python
- Использование оператора
% - Использование
format() - Использование
fстрок
У нас есть три функции
- func1 использует оператор
% - func2 использует
format() - func3 использует
fстроки
Мы будем использовать функцию timeit для измерения времени, затрачиваемого каждой функцией.
Мы вызываем каждую функцию 100 раз и вычисляем среднее время, затрачиваемое на вызов функции. Среднее время хранится в списке.
Ниже приведены сравнения трех функций.
Как видите, f строки работают быстрее по сравнению с format() и оператором %.
Условия в f строках
num = 2
print(f"{num} is an {'even' if num%2 ==0 else 'odd'} number")
num = 3
print(f"{num} is an {'even' if num%2 ==0 else 'odd'} number")
Выравнивание строк
- Выровнено по левому краю:
{variable:> number} - По центру:
{variable: ^ число} - По правому краю:
{variable: <число}
text = "string"
print(f'{text:>20}')
print(f'{text:^10}')
print(f'{text:<30}')
'''
OUTPUT
string
string
string
'''
Округление числа с плавающей запятой
num = 20.012345783
print(f'{num:0.3f}')
'''
OUTPUT
20.012
'''
Pad Zeroes
x = 10
print(f'{x:0}') #10
print(f'{x:02}') #10
print(f'{x:03}') #010
print(f'{x:04}') # 0010
Если вы хотите добавить n нулей к y-значному числу, оно должно быть
print(f'{x:0n+y}')