Форматування рядка: стиль printf

Рядкові об’єкти мають одну унікальну вбудовану операцію: оператор % (по модулю). Це також відоме як оператор форматування рядка або інтерполяції [doch]. Враховуючи формат % значень (де format є рядком), % специфікації перетворення у format замінюються нулем або більше елементами значень. Якщо для format потрібен один аргумент, values може бути одним некортежним об’єктом.

Символи перетворення:

Символ

Значення

#

Перетворення значень використовуватиме «альтернативну форму»

0

Перетворення буде доповнено нулем для числових значень

'-'

Перетворене значення коригується зліва (замініть '0', якщо надано обидва)

' '

(пробіл) Перед додатним числом слід залишити пробіл

'+'

Символ знака ('+' або '-') передуватиме перетворенню (перевизначає прапор «пробіл»)

Типи перетворення:

Перетворення

Значення

'd'

Ціле десяткове число зі знаком

'i'

Ціле десяткове число зі знаком

'o'

Вісімкове значення зі знаком

'u'

Застарілий тип - ідентичний 'd

'x'

Шістнадцяткове число зі знаком (маленький регістр)

'X'

Шістнадцяткове число зі знаком (верхній регістр)

'e'

Експоненціальний формат із плаваючою комою (нижній регістр)

'E'

Експоненціальний формат із плаваючою комою (верхній регістр)

'f' 'F'

Десятковий формат із плаваючою комою

'g'

'G'

Формат з плаваючою комою. Використовує нижній регістр експоненціального формату, якщо показник степеня менший за -4 або не менший за точність, десятковий формат інакше.

'c'

Один символ (приймає ціле число або рядок з одним символом)

'r'

Перетворює будь-який об’єкт Python за допомогою repr()

's'

Перетворює будь-який об’єкт Python за допомогою str()

'a'

Перетворює будь-який об’єкт Python за допомогою ascii()

'%'

Жодні аргументи не перетворюються, результатом є символ '%'.