str.format() — это один из методов форматирования строк в Python3, который допускает множественные замены и форматирование значений. Этот метод позволяет нам объединять элементы в строке с помощью позиционного форматирования.
Использование одного модуля форматирования:
Форматизаторы работают, помещая один или несколько заполнителей и заполнителей, определяемых парой фигурных скобок. { }, в строку и вызовом str.format(). Значение, которое мы хотим поместить в заполнители и соединить со строкой, переданной в качестве параметров функции форматирования.
Синтаксис: {} .format (значение)
Параметры:
(значение): может быть целым числом, числовой константой с плавающей запятой, строкой, символами или даже переменными. .Тип возвращаемого значения: возвращает отформатированную строку со значением, переданным в качестве параметра, в позиции заполнителя.
Код # 1: Демонстрация простого формата ().
# Демонстрационная программа Python3
# метод str.format()
# использование параметра формата в простой строке
print
(
"{}, Портал информатики для гиков."
.
формат
(
" Python.Engineering "
))
# с использованием опции формата для
# значение сохраняется в переменной
str
=
" Эта статья написана на {} "
print
(
str < /код> <класс кода = "обычный">.
формат
(
"Python"
))
# форматирование строки с использованием числовой константы
печать
(
" Здравствуйте, мне {} лет! "
.
формат
(
18
))
Вывод:
GeeksforGeeks, Информатика портал для гиков. Эта статья написана на Python Здравствуйте, мне 18 лет!
Использование нескольких средств форматирования:
При форматировании строки можно использовать несколько пар фигурных скобок. Например, если ваше предложение требует другой замены переменных, вы можете сделать это, добавив вторую пару фигурных скобок и передав методу второе значение. Python заменит заполнители значениями в порядке.
Синтаксис: {} {} .format (value1, value2)
Параметры:
(значение1, значение2): Могут быть целыми числами, числовыми константами с плавающей запятой, строками, символами и даже переменными. Единственное отличие состоит в том, что количество значений, передаваемых в качестве параметров в методе format(), должно быть равно количеству заполнителей, созданных в строке.Ошибки и исключения:
IndexError: возникает, когда в строке есть лишний заполнитель, и мы не передали для него никакого значения в методе format(). Python обычно присваивает заполнителям индекс по умолчанию в таком порядке, как 0, 1, 2, 3 .... для доступа к значениям, переданным в качестве параметров. Поэтому, когда он встречает заполнитель, индекс которого не имеет значения, переданного внутри в качестве параметра, он выдает IndexError.
Код № 2:
< br>
|
Вывод:
Traceback (последний последний вызов): файл "/ home / 949ca7b5b7e26575871639f03193d1b3.py", строка 2, в печати (my_string.format (" Python .Engineering", "компьютер", "компьютерщики")) IndexError: индекс кортежа вне допустимого диапазона
Код #3: Форматеры с несколькими заполнителями.
Вывод: GeeksforGeeks — портал компьютерных наук для гиков Привет! Меня зовут Пользователь, мне 19 лет. Это один, два, три, четыре Форматтеры с аргументами позиционирования и ключевыми словами:Когда заполнители {} пусты, Python заменит значения, переданные через str.format(), по порядку. Значения, существующие в методе str.format(), по существу типы данных tuple , и каждое отдельное значение, содержащееся в кортеже, можно вызвать по его порядковому номеру, который начинается с порядкового номера 0. Эти порядковые номера можно передать в фигурных скобках, которые служат заполнителями в исходной строке.
Код № 4:
< класс кода = "обычный">.
|
Вывод:
Python.Engineering любит гиков!! Компьютерщики любят Python.Engineering !! Каждый программист должен знать, как использовать программирование с открытым исходным кодом и операционные системы. Каждая операционная система должна знать, как использовать исходное программное обеспечение с открытым исходным кодом и программист Python.Engineering — это информационный портал для гиков
Спецификация типа:
Дополнительные параметры могут быть включены в фигурные скобки в нашем синтаксисе. Используйте синтаксис кода формата {имя_поля: преобразование} , где имя_поля указывает порядковый номер аргумента метода str.format(), а преобразование относится к коду преобразования типа данных.
s – строки
d – десятичные целые числа (с основанием 10)
f – отображение с плавающей запятой
c – символьные
b – двоичные
o – восьмеричные
x – шестнадцатеричный код со строчными буквами после 9
X – шестнадцатеричный формат с прописными буквами после 9
e – запись степени
Синтаксис:
String {field_name: convert} Example.format (value)Ошибки и исключения:
ValueError: Ошибка при преобразовании типа в этом методе.
Код № 5:
# Показать ValueError while
# принудительно преобразовать тип pr
# При явном преобразовании числа с плавающей запятой r
Количество значений ‚Äã‚Äãв десятичной системе счисления с основанием 10 с "d"
# преобразование типов мы столкнуться со значением-ошибкой.
print
(
"Сегодня температура {0: d} градусов снаружи! "
.
формат
(
35,567
))
< / p>
# Напишите это, чтобы избежать ошибочных значений ‚Äã‚Äã
& # 39; & # 39; & # 39; print("Сегодня температура на улице {0: .0f} градусов!"
.format (35,567)) & # 39; & # 39; "
Вывод:
Traceback (последний последний вызов): файл "/ home/9daca03d1c7a94e7fb5fb326dcb6d242.py", строка 5, в печати ("Сегодня температура на улице {0: d} градусов!". формат (35,567)) ValueError: Неизвестный код формата ’d’ для объекта типа ’float’
Код # 6:
# Преобразование base-10 десятичные целые числа
# в числовые константы с плавающей запятой
print
(
"Этот сайт {0: f}% защищен {1} !! "
.
format
(
100
,
"encrypted"
))
# Для ограничения точности
print
(
"Мое среднее значение этого {0} было {1: .2f}%"
.
format
(
"semester"
,
78.234876
))
# Без десятичных знаков
print
(
"Мое среднее значение этого {0} было {1: .0f}%"
формат
(
"semester"
,
78.234876
))
# Преобразование целого числа в двоичное или
# с различными другими преобразованными базами.
print
(
" {0} из 100 равно {1: b} "
.
формат
(
"binary"
,
100
))
print
(
"{0} из 100 равно {1: o } "
.
формат
(
"octal"
,
100
))
Выход:
Этот сайт надежно зашифрован на 100.000000% !! Мой средний результат за этот семестр составил 78,23 % Мой средний результат за этот семестр составил 78 % Двоичное число 100 равно 1100100 Восьмеричное число 100 равно 144
Подстановки или генерирующие пробелы:
Код № 7:
По умолчанию строки выравниваются по левому краю поля, а числа — справа. Мы можем изменить это, поместив код выравнивания сразу после двоеточия.
": выравнивание текста по левому краю в поле ^ : центрирование текста в поле & gt; : выровняйте текст в поле по правому краю
# Чтобы продемонстрировать расстояние, когда
# строки передаются как параметры
print
(
"{0: 4} – это информационный портал для {1 : 8}!"
.
format
(
"Python.Engineering "
,
"выродки"
))
# Чтобы показать интервал, когда в качестве параметров передаются числовые
# константы.
print
(
" Это {0 : 5} градусов снаружи! "
.
формат
(
40
) )
# Для демонстрации строковых и числовых значений
# константы, переданные в качестве параметров
print
(
"{0: 4} был основан в {1:16}!"
.
format
(
"GeeksforGeeks"
,
2009
))
# Чтобы предложить настроить выравнивание пространства
print
(
"{ 0: ^ 16} был основан в {1: < 4}! "
.
формат
(
"GeeksforGeeks"
,
2009
))
print
(
"{: * ^ 20s}"
формат
(
"Гики"
))
Вывод:
GeeksforGeeks, это информатика портал для гиков!На улице 40 градусов!Питон.Инжиниринг основан в 2009 году!Питон.Инжиниринг основан в 2009 году!******Гики ********
Приложения:
форматеры обычно используются для организации данных. в лучшем свете, когда они используются для визуальной организации больших объемов данных. Если мы показываем базы данных пользователям, использование средств форматирования для увеличения размера поля и изменения выравнивания может сделать вывод более читабельным.
Код № 8: для демонстрации организации больших данных
< br>
Вывод: Введите нижний диапазон: - 3 Введите верхний диапазон: - 10 ------ Перед использованием Форматтеры ------- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 ------- После использования форматтеров ---- ----- 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 |