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}')