Форматирует значение переменной для вывода на печать.
Синтаксис:
format(value, format_spec)
Параметры:
- value — форматируемое значение,
- format_spec — спецификации формата ‘Mini-Language’.
Возвращаемое значение:
- строка, отформатированная в соответствии с форматом ‘Mini-Language’.
Описание:
Функция format() преобразует переданное значение в отформатированную строку, в соответствии с спецификацией формата Mini-Language , которое задается в необязательном аргументе format_spec .
Интерпретация format_spec будет зависеть от типа значения переданного функции аргумента. По умолчанию format_spec пустая строка, которая обычно дает тот же эффект, что и вызов функции str(value) .
Спецификация формата Mini-Language :
Общая форма спецификатора стандартного формата:
format_spec ::= [[fill]align][sign][z][#][0][width][grouping_option][.precision][type] fill ::= align ::= «» | «=» | «^» sign ::= «+» | «-» | » » width ::= digit+ grouping_option ::= «_» | «,» precision ::= digit+ type ::= «b» | «c» | «d» | «e» | «E» | «f» | «F» | «g» | «G» | «n» | «o» | «s» | «x» | «X» | «%»
Изменено в Python 3.10: установка ‘0’ перед полем width больше не влияет на выравнивание строк по умолчанию.Изменено в Python 3.11: добавлена опция ‘z’ .
Десятичное число в двоичное. Язык программирования Python
Если указано допустимое значение выравнивания align , то ему может предшествовать символ заполнения fill , который может быть любым символом и по умолчанию равен пробелу, если он опущен. Невозможно использовать литеральную фигурную скобку ( » ) в качестве символа заполнения в форматированном строковом литерале или при использовании метода str.format() . Однако можно вставить фигурную скобку с вложенным замещающим полем. Это ограничение не влияет на функцию format() .
Опция # приводит к использованию «альтернативной формы» для преобразования. Альтернативная форма определяется по-разному для разных типов. Этот параметр действителен только для целых, плавающих и сложных типов.
Для целых чисел, когда используется двоичный, восьмеричный или шестнадцатеричный вывод, эта опция добавляет к выходному значению соответствующий префикс ‘0b’ , ‘0o’ , ‘0x’ или ‘0X’ . Для чисел с плавающей запятой и сложных альтернативная форма приводит к тому, что результат преобразования всегда содержит символ десятичной точки, даже если за ним не следуют цифры. Обычно символ десятичной точки появляется в результате этих преобразований только в том случае, если за ним следует цифра. Кроме того, для преобразований ‘g’ и ‘G’ конечные нули не удаляются из результата.
Опция width — десятичное целое число, определяющее минимальную общую ширину поля, включая все префиксы, разделители и другие символы форматирования. Если не указано, то ширина поля будет определяться содержимым.
Пишем программу: перевод в разные системы счисления
Если явное выравнивание не задано, то перед полем ширины width ставится нулевой ( ‘0’ ) символ, что позволяет использовать знаковое заполнение нулями для числовых типов. Это эквивалентно символу заполнения fill=’0′ с типом выравнивания align=’=’ .
- Выравнивание:
- < — Левое выравнивание результата (в пределах доступного пространства);
- > — Выравнивает результат по правому краю (в пределах доступного пространства);
- ^ — Выравнивает результат по центру (в пределах доступного пространства);
- = — Помещает результат в крайнее левое положение;
- Знаки, только для чисел:
- + — знак плюс;
- — — знак минус только для отрицательных значений;
- пробел ‘ ‘ — указывает, что перед положительными числами следует использовать начальный пробел, а перед отрицательными — знак минус.
Опция ‘z’ (добавлена в Python 3.11) преобразует отрицательные нулевые значения с плавающей запятой в положительные нули после округления до точности формата. Этот параметр действителен только для типов представления с плавающей запятой.
- , — Использовать запятую в качестве разделителя тысяч;
- _ — Использовать символ подчеркивания в качестве разделителя тысяч;
>>>format(1, ‘f’) ‘1.000000’ >>>format(10, ‘.2f’) ‘10.00’ >>>format(‘format’, ‘.2’) ‘fo’
- s — строка, можно не указывать, используется по умолчанию;
- b — двоичный формат;
- с — преобразует целое число в символ Unicode;
- d — десятичный формат;
- e — научный формат, со строчной буквой e ;
- E — научный формат, с E верхним регистром;
- f — формат чисел с плавающей запятой;
- F — формат чисел с плавающей запятой, верхний регистр;
- g — общий формат, нижний регистр;
- G — общий формат, верхний регистр;
- o — Восьмеричный формат;
- x — шестнадцатеричный формат, нижний регистр;
- X — шестнадцатеричный формат, верхний регистр;
- n — формат целых чисел;
- % — Процентный формат. Умножает число на 100 и использует f для вывода. В конце ставится % ;
Общий вид инструкции format_spec :
заполнитель|выравнивание|знак|#|размер строки|разделитель десятков|.точность|тип
Пример: format(1000.5368, ‘~>+15,.2f’) , где ‘~>+15,.2f’ — формат Mini-Language .
- ~ — заполнитель
- > — выравнивание
- + — знак
- 15 — размер итоговой строки в символах
- , — разделитель десятков
- .2 — точность, количество выводимых цифр после запятой
- f — тип,
Пример выведет отформатированную строку: ‘~~~~~~+1,000.54’
Примеры форматирования значений переменных.
>>> format(5) ‘5’ >>> format(5, ‘.1f’) ‘5.0’ >>> format(5, ‘*^10.2f’) ‘***5.00***’ >>> format(1000, ’10,d’) ‘ 1,000’ >>> format(‘Привет’, ‘>10.3’) ‘ При’ >>> format(1000, ‘#>+10,.2f’) ‘ +1,000.00’ >>>format(1000.5368, ‘~>+15,.2f’) ‘~~~~~~+1,000.54’
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Функция abs(), абсолютное значение числа.
- Функция all(), все элементы True.
- Функция any(), хотя бы один элемент True.
- Функция ascii(), преобразует строку в ASCII.
- Функция bin(), число в двоичную строку.
- Класс bool(), логическое значение объекта.
- Функция breakpoint(), отладчик кода.
- Класс bytearray(), преобразует в массив байтов.
- Класс bytes(), преобразует в строку байтов.
- Функция callable(), проверяет можно ли вызвать объект.
- Функция chr(), число в символ Юникода.
- Класс classmethod, делает функцию методом класса.
- Функция compile() компилирует блок кода Python.
- Класс complex(), преобразует в комплексное число.
- Функция delattr(), удаляет атрибут объекта.
- Класс dict() создает словарь.
- Функция dir(), все атрибуты объекта.
- Функция divmod(), делит числа с остатком.
- Функция enumerate(), счетчик элементов последовательности.
- Функция eval(), выполняет строку-выражение с кодом.
- Функция exec(), выполняет блок кода.
- Функция filter(), фильтрует список по условию.
- Класс float(), преобразует в вещественное число.
- Функция format(), форматирует значение переменной.
- Класс frozenset(), преобразует в неизменяемое множество.
- Функция getattr(), значение атрибута по имени.
- Функция globals(), переменные глобальной области.
- Функция hasattr(), наличие атрибута объекта.
- Функция hash(), хэш-значение объекта.
- Функция help(), справка по любому объекту.
- Функция hex(), число в шестнадцатеричную строку.
- Функция id(), идентификатор объекта.
- Функция input(), ввод данных с клавиатуры.
- Класс int(), преобразует в тип int.
- Функция isinstance(), принадлежность экземпляра к классу.
- Функция issubclass(), проверяет наследование класса.
- Функция iter(), создает итератор.
- Функция len(), количество элементов объекта.
- Класс list(), преобразовывает в список.
- Функция locals(), переменные локальной области.
- Функция map(), обработка последовательности без цикла.
- Функция max(), максимальное значение элемента.
- Класс memoryview(), ссылка на буфер обмена.
- Функция min(), минимальное значение элемента.
- Функция next(), следующий элемент итератора.
- Класс object(), возвращает безликий объект.
- Функция oct(), число в восьмеричную строку.
- Функция open(), открывает файл на чтение/запись.
- Функция ord(), число символа Unicode.
- Функция pow(), возводит число в степень.
- Функция print(), печатает объект.
- Класс property(), метод класса как свойство.
- Класс range(), генерирует арифметические последовательности.
- Функция repr(), описание объекта.
- Функция reversed(), разворачивает последовательность.
- Функция round(), округляет число.
- Класс set(), создает или преобразовывает в множество.
- Функция setattr(), создает атрибут объекта.
- Класс slice(), шаблон среза.
- Функция sorted(), выполняет сортировку.
- Декоратор staticmethod(), метод класса в статический метод.
- Класс str(), преобразует объект в строку.
- Функция sum(), сумма последовательности.
- Функция super(), доступ к унаследованным методам.
- Класс tuple(), создает или преобразует в кортеж.
- Класс type(), возвращает тип объекта.
- Функция vars(), словарь переменных объекта.
- Функция zip(), объединить элементы в список кортежей.
- Функция __import__(), находит и импортирует модуль.
- Функция aiter(), создает асинхронный итератор.
- Функция anext(), следующий элемент асинхронного итератора.
Источник: docs-python.ru
Rukovodstvo
статьи и идеи для разработчиков программного обеспечения и веб-разработчиков.
Как отформатировать число как строку валюты в Python
Введение Необходимость вручную форматировать число как строку валюты может быть утомительным процессом. Вам может потребоваться внести всего несколько строк изменений, однако, когда нам нужно сделать изрядное количество преобразований, это становится очень утомительным. Первый шаг к автоматизации подобных задач потребует наличия функции. В этой статье мы рассмотрим несколько методов, которые вы можете использовать для форматирования чисел в виде строк валюты в Python. Способы форматирования чисел Мы рассмотрим три альтернативные библиотеки и
Время чтения: 5 мин.
Вступление
Необходимость вручную форматировать число как строку валюты может быть утомительным процессом. Вам может потребоваться внести всего несколько строк изменений, однако, когда нам нужно сделать изрядное количество преобразований, это становится очень утомительным.
Первый шаг к автоматизации подобных задач потребует наличия функции. В этой статье мы рассмотрим несколько методов, которые вы можете использовать для форматирования чисел в виде строк валюты в Python .
Способы форматирования чисел
Класс Fraction в Python
В этом посте в Python мы будем управлять дробями и выполнять с ними различные операции. Давайте начнем.
Создание дробей
Класс Fraction в Python позволяет нам создавать свои экземпляры различными способами. Вот пример программы:
import fractions for num, decimal in [(3, 2), (2, 5), (30, 4)]: fract = fractions.Fraction(num, decimal) print(‘<>/<> = <>’.format(num, decimal, fract))