все Python 3Строки (str)функция
% форматирование (старый стиль)
форматирование
Старый стиль форматирования через оператор %. %s — строка, %d — целое, %f — вещественное, %r — repr.
Синтаксис
'format %s' % value | 'format %(key)s' % dict
Правый операнд % — это кортеж аргументов, поэтому если подставить надо сам кортеж, его заворачивают ещё в один: '%s' % (t,), иначе Python разложит его по спецификаторам и упадёт с TypeError. %d к вещественному числу молча отбрасывает дробную часть. В новом коде пишут f-строки, но %-стиль жив в логировании: logging.info('x=%s', x) откладывает подстановку до момента, когда запись действительно пишется.
Примеры
print('Hello, %s!' % 'World')
# → 'Hello, World!'
print('x=%d, y=%d' % (3, 5))
# → 'x=3, y=5'
print('pi=%.3f' % 3.14159)
# → 'pi=3.142'
print('%(name)s is %(age)d' % {'name': 'Bob', 'age': 25})
# → 'Bob is 25'
print('%05d' % 42)
# → '00042'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности