Функция format
в Python используется для форматирования значений в соответствии со спецификацией формата. Она предоставляет гибкий способ форматирования строк, чисел, дат и других объектов.
Содержание
- Синтаксис
- Параметры
- Возвращаемое значение
- Спецификаторы формата
- Общие спецификаторы формата
- Спецификаторы для чисел
- Примеры использования
- Пример 1: Форматирование целого числа
- Пример 2: Форматирование вещественного числа
- Пример 3: Форматирование строки
- Пример 4: Форматирование чисел в различных системах счисления
- Пример 5: Форматирование с выравниванием и заполнением
- Пример 6: Форматирование числа с разделителями тысяч
- Пример 7: Вывод таблицы с форматированием
- Пример 8: Форматирование даты
Синтаксис
format(value, format_spec='')
Параметры
value
: Обязательный параметр. Значение, которое нужно отформатировать.format_spec
: Необязательный параметр. Строка, определяющая спецификацию формата. По умолчанию пустая строка.
Возвращаемое значение
Функция возвращает строку, содержащую отформатированное значение.
Спецификаторы формата
Форматирование строк в Python с помощью функции format
или метода str.format
предоставляет гибкий механизм для отображения данных в различных форматах. Ниже приведены все спецификаторы формата, которые можно использовать:
Общие спецификаторы формата
- Выравнивание:
<
– по левому краю (по умолчанию для строк)>
– по правому краю (по умолчанию для чисел)^
– по центру
- Заполнение:
- Любой символ, используемый перед выравниванием, будет использован в качестве заполняющего символа.
- Например,
:0>5
выведет число, выровненное по правому краю и заполненное нулями:00042
.
- Знак:
+
– отображает знак для положительных и отрицательных чисел-
– отображает знак только для отрицательных чисел (по умолчанию)space
– оставляет пробел перед положительными числами
- Ширина:
- Определяет минимальное количество символов для отображения значения.
- Например,
:10
выведет значение, выровненное по правому краю и имеющее минимальную ширину 10 символов.
- Запятая:
,
– использует запятые в качестве разделителя тысяч.- Например,
:,
для числа 1000000 выведет1,000,000
.
- Точка:
.
– определяет количество знаков после запятой для чисел с плавающей точкой.- Например,
:.2f
выведет вещественное число с двумя знаками после запятой:3.14
.
Спецификаторы для чисел
- Целые числа:
d
– десятичное числоb
– двоичное числоo
– восьмеричное числоx
– шестнадцатеричное число (строчные буквы)X
– шестнадцатеричное число (прописные буквы)n
– число в текущей локали
- Вещественные числа:
e
– экспоненциальное представление (строчные буквы)E
– экспоненциальное представление (прописные буквы)f
– десятичное представление (по умолчанию для вещественных чисел)F
– десятичное представление (используетinf
иnan
в прописных буквах)g
– общий формат (используетe
для больших чисел иf
для маленьких)G
– общий формат (используетE
для больших чисел иF
для маленьких)%
– процентное представление (умножает число на 100 и добавляет знак процента)
Примеры использования
Пример 1: Форматирование целого числа
number = 42
formatted_number = format(number, "d")
print(formatted_number) # Вывод: 42
Пример 2: Форматирование вещественного числа
pi = 3.141592653589793
formatted_pi = format(pi, ".2f")
print(formatted_pi) # Вывод: 3.14
Пример 3: Форматирование строки
name = "Alice"
formatted_name = format(name, "^10")
print(f"|{formatted_name}|") # Вывод: | Alice |
Пример 4: Форматирование чисел в различных системах счисления
number = 255
print(format(number, "b")) # Вывод: 11111111
print(format(number, "x")) # Вывод: ff
print(format(number, "o")) # Вывод: 377
Пример 5: Форматирование с выравниванием и заполнением
number = 42
formatted_number = format(number, "0>5")
print(formatted_number) # Вывод: 00042
Пример 6: Форматирование числа с разделителями тысяч
number = 1000000
formatted_number = format(number, ",")
print(formatted_number) # Вывод: 1,000,000
Пример 7: Вывод таблицы с форматированием
data = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25},
{"name": "Charlie", "age": 35}
]
for item in data:
print("{:<10} {:>3}".format(item["name"], item["age"]))
# Вывод:
# Alice 30
# Bob 25
# Charlie 35
Пример 8: Форматирование даты
from datetime import datetime
now = datetime.now()
formatted_date = format(now, "%Y-%m-%d %H:%M:%S")
print(formatted_date) # Вывод: текущая дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС