Форматирование строк. Метод format
Иногда (а точнее, довольно часто) возникают ситуации, когда нужно сделать строку, подставив в неё некоторые данные, полученные в процессе выполнения программы (пользовательский ввод, данные из файлов и т. д.). Подстановку данных можно сделать с помощью форматирования строк. Форматирование можно сделать с помощью оператора %, либо с помощью метода format.
Форматирование строк с помощью метода format
Если для подстановки требуется только один аргумент, то значение — сам аргумент:
А если несколько, то значениями будут являться все аргументы со строками подстановки (обычных или именованных):
Однако метод format умеет большее. Вот его синтаксис:
Например:
Теперь спецификация формата:
Выравнивание производится при помощи символа-заполнителя. Доступны следующие варианты выравнивания:
| Флаг | Значение |
| ‘ | Символы-заполнители будут справа (выравнивание объекта по левому краю) (по умолчанию). |
| ‘>’ | выравнивание объекта по правому краю. |
| ‘=’ | Заполнитель будет после знака, но перед цифрами. Работает только с числовыми типами. |
| ‘^’ | Выравнивание по центру. |
Опция «знак» используется только для чисел и может принимать следующие значения:
| Флаг | Значение |
| ‘+’ | Знак должен быть использован для всех чисел. |
| ‘-‘ | ‘-‘ для отрицательных, ничего для положительных. |
| ‘Пробел’ | ‘-‘ для отрицательных, пробел для положительных. |
Поле «тип» может принимать следующие значения:
| Тип | Значение |
| ‘d’, ‘i’, ‘u’ | Десятичное число. |
| ‘o’ | Число в восьмеричной системе счисления. |
| ‘x’ | Число в шестнадцатеричной системе счисления (буквы в нижнем регистре). |
| ‘X’ | Число в шестнадцатеричной системе счисления (буквы в верхнем регистре). |
| ‘e’ | Число с плавающей точкой с экспонентой (экспонента в нижнем регистре). |
| ‘E’ | Число с плавающей точкой с экспонентой (экспонента в верхнем регистре). |
| ‘f’, ‘F’ | Число с плавающей точкой (обычный формат). |
| ‘g’ | Число с плавающей точкой. с экспонентой (экспонента в нижнем регистре), если она меньше, чем -4 или точности, иначе обычный формат. |
| ‘G’ | Число с плавающей точкой. с экспонентой (экспонента в верхнем регистре), если она меньше, чем -4 или точности, иначе обычный формат. |
| ‘c’ | Символ (строка из одного символа или число — код символа). |
| ‘s’ | Строка. |
| ‘%’ | Число умножается на 100, отображается число с плавающей точкой, а за ним знак %. |
И напоследок, несколько примеров:
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Функция bin() в Python, число в двоичную строку
Функция bin() преобразует целое число в двоичную строку с префиксом 0b .
Результатом будет binary string - двоичная версия заданного целого числа x .
Примеры преобразований чисел в двоичную систему счисления.
>>> bin(3) # '0b11' >>> bin(-10) # '-0b1010'
Если префикс 0b является НЕ желательным , вы можете использовать любой из следующих способов.
>>> format(14, '#b'), format(14, 'b') # ('0b1110', '1110') >>> f'14:#b>', f'14:b>' # ('0b1110', '1110')
Смотрите также встроенную функцию format().
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Функция 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(), следующий элемент асинхронного итератора
Как убрать знаки перед значениями, после перевода с помощью bin(), oct(), hex()?

каким кодом можно убрать эти знаки перед числами: Спасибо за ответы
Отслеживать
задан 23 мая 2021 в 14:01
41 4 4 бронзовых знака
num[2:] - можно так
23 мая 2021 в 14:08
@TigerTV.ru благодарю
23 мая 2021 в 14:10
@MaidLine Можно ещё переводить не функциями, а через format: f"<100:o>" f"" f"" Тогда префиксов не будет. Причём это даже в документации к Python предлагается.100:o>
23 мая 2021 в 14:25
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Официальная документация по Python предлагает использовать функции форматирования чтобы сразу получить строки без префиксов.
>>> '%o' % 100 '144' >>> format(100, 'o') '144' >>> f'' '144'
Ну и по аналогии b и x вместо bin() и hex() соответственно.
Отслеживать
ответ дан 23 мая 2021 в 14:35
13.4k 1 1 золотой знак 8 8 серебряных знаков 23 23 бронзовых знака
- python
- python-3.x
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.21.1314
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Перевод из десятичной системы счисления в двоичную
Заметим, что в языке Python есть встроенная функция bin , которая переводит десятичное число в двоичную систему счисления.
>>> bin(5) '0b101' >>> bin(10) '0b1010'
Здесь же рассматривается алгоритм такого перевода и его реализация на Python.
Обычно десятичное число преобразуют к двоичному представлению путем нахождения остатков от деления на 2. При этом полученное на предыдущем шаге частное выступает в качестве делимого на следующем шаге. Деление заканчивается, когда делимое обращается в ноль. Остатки собираются в двоичное число начиная с конца, то есть последний остаток будет первой цифрой двоичного числа. Например, надо перевести число 8 в двоичную систему:
- 8 / 2 = 4, остаток 0
- 4 / 2 = 2, остаток 0
- 2 / 2 = 1, остаток 0
- 1 / 2 = 0, остаток 1
- 0 - конец деления
- Сборка: 10002
При реализации данного алгоритма с помощью языка программирования надо организовать хранение остатков. Сделать это можно в переменной строкового типа или в списке. В случае строки каждый новый остаток следует добавлять в начало.
n = int(input()) b = '' while n > 0: b = str(n % 2) + b n = n // 2 print(b)
8 1000
Пример решения задачи с использованием списка и без преобразования цифр двоичного числа в строковый тип:
n = int(input()) b = [] while n > 0: b.append(n % 2) n //= 2 b.reverse() for i in b: print(i, end='') print()
Метод reverse списка изменяет последовательность элементов на обратную.
X Скрыть Наверх
Решение задач на Python
