English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Python управление потоком

Функции в Python

Типы данных в Python

Python операции с файлами

Python объекты и классы

Python дата и время

Advanced Python knowledge

Python reference manual

Python format() usage and examples

Внутренние функции Python

The built-in format() method formats the specified value to the specified format.

The format() method is similar toString formatMethod. Internally, both methods call the object's __format__() method.

The built-in format() method is the underlying implementation of the __format__() method used internally, while the string format() is an advanced implementation that can perform complex string formatting operations on multiple objects.

The syntax of format():

format(value[, format_spec])

format() parameters

The format() method takes two parameters:

  • value -The value to be formatted

  • format_spec-The specification for setting the value format.

The format specifiers can be in the following format:

[[fill]align][sign][#][0][width][,][.precision][type]
where, the options are
fill ::= any character
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | ""
width ::= integer
precision ::= integer
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

You can learn aboutFormat typeandAlignment methodMore information.

format() return value

The format() method formats the specified value to the specified format.

Example 1: Using format() to format numbers

# d, f and b are types
# Integer
print(format(123, "d"))
# Фloating-point parameters
print(format(123.4567898, "f"))
# Binary parameters
print(format(12, "b"))

При выполнении этого программы, вывод будет:

123
123.456790
1100

Example 2: Formatting numbers with fill, alignment, sign, width, precision, and type

# Integer
print(format(1234, "*>+7,d"))
# Фloating-point parameters
print(format(123.4567, '^ -09.3f'))

При выполнении этого программы, вывод будет:

*+1,234
0123.4570

Здесь, при форматировании числа 1234, мы указали форматировочный дескриптор * <+ 7,d. Давайте рассмотрим значение каждого параметра:

  • * -Это символ заполнителя, который используется для заполнения пробелов после форматирования

  • > -Это опция выравнивания по правому краю, которая может выровнять строку вывода по правому краю

  • + -Это опция знака, которая требует подписи числа (с знакомом слева)

  • 7-Опция ширины требует, чтобы число имело минимальную ширину 7, другие пробелы будут заполнены заполнительными символами

  • , -Оператор тысячных мест вставляет запятую между всеми тысячными местами.

  • d -Это опция типа, которая используется для указания чисел в виде целых чисел.

При форматировании числа 123.4567 мы указали форматировочный дескриптор ^ -09.3f. Это:

  • ^ -Это опция выравнивания по центру, которая может выровнять строку вывода по центру оставшегося пространства

  • --Этот символ опции требует использования знака только для отрицательных чисел

  • 0-Это символ, который заменяет пробелы.

  • 9-Использование опции width устанавливает минимальную ширину числа в 9 символов (включая точку, тысячные запятые и знак)

  • .3-Оператор точности устанавливает точность заданного числа в 3 знака после запятой

  • f -Это опция типа, которая используется для указания чисел в виде чисел с плавающей запятой.

Пример 3: Использование format() через перезапись __format__().__format__()

# Определение метода __format__().__format__()
class Person:
    def __format__(self, format):
        if(format == 'age'):
            return '23'
        return 'None'
print(format(Person(), 'age'))

При выполнении этого программы, вывод будет:

23

Здесь мы перезаписали метод __format__() класса Person.

Теперь он принимает параметр code> age для возврата 23. Если не указан формат, то возвращает None.

Метод format() выполняется внутри Person().__format__('age') возвращает 23.

Внутренние функции Python