Содержание

примеры преобразования объекта в строку

Перейти к контенту

Search for:

Главная » String Python

0

Функция format() в Python используется для преобразования данного объекта в строковое представление на основе спецификаций формата.

Синтаксис функции format():

format(value[, format_spec])

Эта функция вызывает метод __format __() объекта значения. Мы можем определить эту функцию для наших пользовательских классов, чтобы использовать с ними функцию format().

Вот некоторые из вариантов формата чисел:

  • Знак «+» следует использовать как с положительными, так и с отрицательными числами.
  • Знак «-» следует использовать только с отрицательными числами, это поведение по умолчанию.
  • % – умножается на 100 и отображается в процентах.
  • ‘b’, ‘o’, ‘x’, ‘X’ – преобразовать целое число в двоичный, восьмеричный и шестнадцатеричный формат. Буквы нижнего регистра будут использоваться для «x», тогда как буквы верхнего регистра будут использоваться для «X». Они применимы только для целых чисел.
  • ‘e’, ‘E’, ‘f’, ‘F’ – используются с числами с плавающей запятой для обозначения экспоненты и обозначения с фиксированной точкой соответственно.

Рассмотрим несколько примеров использования функции format() с числами.

# integers
print(format(10, '+'))
print(format(15, 'b'))

print(format(15, 'x'))
print(format(15, 'X'))

# float
print(format(.2, '%'))
print(format(10.5, 'e'))
print(format(10.5, 'e'))
print(format(10.5345678, 'f'))
print(format(10.5, 'F'))

Вывод:

+10
1111
f
F
20.000000%
1.050000e+01
1.050000e+01
10.534568
10. 500000

Давайте посмотрим, как мы можем использовать функцию format() с настраиваемым объектом. Мы создадим класс и определим для него функцию __format __(). Эта функция должна возвращать строку, иначе мы получим ошибку.

class Data:
    id = 0

    def __init__(self, i):
        self.id = i

    def __format__(self, format_spec):
        print('__format__ method called')
        if format_spec == 's':
            return "Data[id=%s]" % self.id
        if format_spec == 'i':
            return str(self.id)
        else:
            return 'invalid format spec'

Обратите внимание, что я форматирую объект на основе спецификации входного формата. Если указаны нераспознанные спецификации, я возвращаю строку с ошибкой. Мы также можем создать исключение, которое будет обрабатываться вызывающим кодом.

d = Data(20)
print(format(d, 's'))
print(format(d, 'i'))
print(format(d, 'x'))

Вывод:

__format__ method called
Data[id=20]
__format__ method called
20
__format__ method called
invalid format spec

Рейтинг

( Пока оценок нет )

Васильев А. Н. / автор статьи

Помогаю в изучении Питона на примерах. Автор практических задач с детальным разбором их решений.

Комментарии0 Поделиться:

Загрузка …

Правила форматирования строк в Python с примерами использования / Skillbox Media

#База знаний

  • 14

Ваши строки никогда не были такими ясными, мощными, красивыми.

Vkontakte Twitter Telegram Скопировать ссылку

художественно-промышленная академия имени А.
 Л. Штиглица

Цокто Жигмытов

Кандидат философских наук, специалист по математическому моделированию. Пишет про Data Science, AI и программирование на Python.

Форматирование и вывод строк — одна из наиболее типичных задач в любом языке программирования. Однако в Python до версии 3.6 у нас было, по большому счёту, всего два способа:

  • оператор %;
  • функция format().

Хотя они оба вполне работали в простых случаях, вывод хоть сколько-нибудь сложных строк был настоящей болью. Только взгляните на этих монстриков:

str_1 = "Name: %s, email: %s, phone: %s" % (name, email, phone)
str_2 = "Name: {}, email: {}, phone: {}".format(name, email, phone)

Что там говорят на вводных уроках про читаемость кода в Python?

Первый вариант никуда не годен: мало того что надо бегать глазами туда-сюда по строке, — надо ещё помнить о ключах после символа % (для разных типов они разные, s — для строк) и не забыть поставить ещё один

% между строкой и кортежем с переменными.

Второй вариант, то есть функция .format(), чуть получше, так как параметры-заменители в фигурных скобках облегчают читаемость, но всё равно не вполне подходит для строк с большим количеством переменных.

Так жить нельзя, решил однажды Гвидо ван Россум, и в версии 3.6 появились
f-strings, они же formatted string literals, — литералы форматированных строк. Или просто форматированные строки, эф-строки, или даже, не побоимся этого слова, эф-стринги. Строки в Python’е стали «питоничнее» — компактнее, удобнее, читаемее.

Синтаксис форматированных строк прост и прям. Вы добавляете перед строкой, прямо перед открывающими двойными или одинарными кавычками, букву f. Всё, строка теперь форматированная.

print(f"Hello f-strings")
>>> Hello f-string

Теперь можно вставлять туда переменные в уже знакомых нам фигурных скобках:

name = "f-strings"  # переменная
print(f"Hello {name}")
>>> Hello f-strings

Правда ведь, стало проще и яснее? Не надо бегать взглядом в конец строки и обратно, чтобы понять, где и какая переменная выводится: всё прямо под рукой и перед глазами.

И это только самое начало, едем дальше.

Фигурные скобки, несмотря на свой игривый вид, таят в себе большие возможности. Внутри них можно вызывать функции, элементы списков и словарей, а также выполнять операции — нужно просто вставить соответствующие выражения.

num = 7
print(f'{num} в квадрате равно {num * num}')
>>> 7 в квадрате равно 49

Вызовем строковую функцию

.upper(), превращающую все буквы строки в заглавные:

name = "спарта"
print(f"Это {name.upper()}!!!")
>>> Это СПАРТА!!!

Думаем, принцип ясен. Вот ещё пример с вызовом элементов словаря.

dict = {'name': 'Коля', 'profession': 'программист'}
print(f"{dict['name']} - это наш {dict['profession']}")
>>> Коля - это наш программист

Обратите внимание, что для строки и для ключей словаря вам нужно использовать разные кавычки.

Например, двойные кавычки для f-строки и одинарные для ключей, как выше, или наоборот. Иначе будет синтаксическая ошибка — Python не поймёт, где строка, а где параметр.

Но что, если нужно напечатать оба вида кавычек? Для начала можно попробовать старый добрый бэкслеш, или обратную косую черту. Она изолирует символ, идущий за ней, и позволяет вывести те же самые кавычки, которые оформляют основную строку.

print(f"Привет, \"{name}\", я 'Саша'")
>>> Привет, "Коля", я 'Саша'

Но внутри фигурных скобок форматированной строки бэкслеш не поддерживается. Увы. Поэтому следующий код вызовет ошибку:

list_a = ['a', 'b', 'c']
print(f"{'\n'.join(list_a)}")
>>> SyntaxError: f-string expression part cannot include a backslash

Наиболее простой и разумный путь избежать этого — вычислить выражение с бэкслешем заранее и только затем передать его в форматированную строку:

x = "\n". join(list_a)
print(f"{x}")
>>> a
>>> b
>>> c

Аналогично: что, если нам нужно вывести фигурные скобки в форматированной строке? Для начала стоит заметить, что фигурные скобки в f-строках не могут быть пустыми.

print(f'{}')
>>> SyntaxError: f-string: empty expression not allowed

Однако мы можем заполнить пустые фигурные скобки другими фигурными скобками.

print(f'А вот фигурные скобки: {{}}')
>>> А вот фигурные скобки: {}

Главная хитрость: выражения внутри «самых внутренних» фигурных скобок вычисляются только в том случае, если у нас нечётное количество пар этих скобок.

f'{{4 + 4}}'  # две пары фигурных скобок, выражение не вычисляется
>>> '{4 + 4}'
f'{{{4 + 4}}}'  # три пары скобок, выражение вычисляется
>>> '{8}'

В форматированных строках можно указать количество десятичных знаков после запятой, количество символов, выделенных для вывода значения, а также выровнять значение по левому или правому краю. Общий синтаксис выглядит так:

f'{value:{width}.{precision}}'

Значение, двоеточие, затем ширина строки в фигурных скобках, точка, требуемая точность в фигурных скобках.

Для начала давайте посмотрим, как задать точность вывода значения.

pi = 3.14159265
print(f'{pi:.2f}')
>>> 3.

Если в параметре precision указать 2f, как здесь, то значение выводится с двумя знаками после запятой. Буква f в данном случае означает fractional part, то есть дробную часть числа. Если оставить просто 2, то значение целиком — и целая, и дробная часть — будет занимать два знака (точка не считается).

print(f'{pi:.2}')
>>> 3.1

Параметр width, стоящий в фигурных скобках после двоеточия и перед точкой, определяет ширину строки, выделенной под значение, и выравнивание в ней.

print(f'{5:<5}₽')  # ширина 5 символов, выравниванием влево <
>>> 5	   ₽
print(f'{5:>5}₽')  # ширина 5 символов, выравниванием вправо >
>>>    5₽

Если не указать направление выравнивания (< или >), то строка по умолчанию будет выравниваться по левому краю (<).

Генерация списков, словарей и множеств командами в одну строку — наиболее мощные и характерные фичи языка Python. Всё это великолепие работает и с форматированными строками. Вот список из форматированных строк, созданный на основе другого списка:

list_b = ['a', 'b', 'c', 'd']
[f'{x + x}' for x in list_b]
>>> ['aa', 'bb', 'cc', 'dd']

Форматированная строка может содержать и генератор списка, с этим проблем нет, — тогда она выдаст строку, состоящую из вычисленного списка, а не из команды генератора.

f'{[x + x for x in list_b]}'
>>> "['aa', 'bb', 'cc', 'dd']"

Со словарями и множествами дело обстоит чуть иначе — в основном из-за наличия фигурных скобок. Поэтому для того, чтобы строка была в виде словаря, а не в виде текста генератора, надо добавлять пробелы между внутренними и внешними фигурными скобками.

f"{{n: n**2 for n in range(5)}}"  # выведет строку генератора
>>> '{n: n**2 for n in range(5)}'
f"{ {n: n**2 for n in range(5)} }"  # добавили пробелы, сработало!
>>> '{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}'
f"{ {n**2 for n in range(3)} }"  # генератор → множество → строка
>>> '{0, 1, 4}'

Форматированная строка — скромный и не всегда заметный, но удобный и мощный инструмент в арсенале питониста. Используйте форматированные строки, если:

  • вам важно, как выглядит вывод программы;
  • вы хотите повысить читаемость вашего кода.

А также в любой другой непонятной ситуации.

На курсе «Профессия Python-разработчик» вы узнаете много других, не менее мощных фишек языка и станете по-настоящему продвинутым питонистом. Приходите!


Vkontakte Twitter Telegram Скопировать ссылку

Учись бесплатно:
вебинары по&nbspпрограммированию, маркетингу и&nbspдизайну.

Участвовать

MediaTek ограничила доступ к GPS для российских пользователей 28 окт 2022

Разработчик создал бесплатный онлайн-инструмент для раскрашивания чёрно-белых фотографий 27 окт 2022

Правительство запретило госкомпаниям закупать иностранный софт 25 окт 2022

Понравилась статья?

Да

Метод Python String format() — GeeksforGeeks

Функция Python string format() была введена для более эффективной обработки сложного форматирования строк. Иногда мы хотим сделать обобщенные операторы печати в этом случае вместо того, чтобы писать операторы печати каждый раз, когда мы используем концепцию форматирования.

Python3

txt = "У меня {an:.2f} Ruppes!"

печать (Txt. Формат (AN = 4 ))

Выход:

 I 

Этот метод встроенного класса строк предоставляет функциональные возможности для подстановки сложных переменных и форматирования значений. Этот новый метод форматирования считается более элегантным. Общий синтаксис метода format() следующий: string.format(var1, var2,…). Здесь мы попытаемся понять, как форматировать строку, содержащую фигурные скобки, в Python.

Простая демонстрация метода Python String format()

Форматеры работают, помещая в строку одно или несколько замещающих полей и заполнителей, определяемых парой фигурных скобок { } , и вызывая метод str. format() . Значение, которое мы хотим поместить в заполнители и соединить со строкой, переданной в качестве параметров в функцию форматирования.

Синтаксис функции string format()

Синтаксис: { }.format(value)

Параметры: 

  • значение: Может быть целым числом, числовой константой с плавающей запятой, строкой, символами или даже переменными.

Тип возврата: Возвращает отформатированную строку со значением, переданным в качестве параметра в позиции заполнителя.

Использование одного средства форматирования

В этом примере мы будем использовать программу с нотацией строковых скобок для демонстрации метода str.format().

Python3

Печать ( "{}, портал информатики для гиков.

STR = "Эта статья написана в {}"

Печать ( . Формат . Формат .0013 «Python» ))

 

print ( "Hello, I am {} years old !" . format ( 18 ))

Вывод:

 GeeksforGeeks, Портал компьютерных наук для гиков.
Эта статья написана на Python
Здравствуйте, мне 18 лет! 

Формат строки() с несколькими заполнителями

При форматировании строки в Python можно использовать несколько пар фигурных скобок. Допустим, в предложении требуется еще одна подстановка переменных, что можно сделать, добавив вторую пару фигурных скобок и передав в метод второе значение. Python заменит заполнители значениями в заказ.

Синтаксис: {} {} Разница лишь в том, что количество значений, передаваемых в качестве параметров в методе format(), должно быть равно количеству заполнителей, созданных в строке.

Ошибки и исключения :  

IndexError : Происходит, когда в строке есть дополнительный заполнитель, и мы не передали для него никакого значения в методе format(). Python обычно назначает заполнители с индексом по умолчанию в порядке, например, 0, 1, 2, 3…. для доступа к значениям, переданным в качестве параметров. Поэтому, когда он встречает заполнитель, индекс которого не имеет значения, переданного внутри в качестве параметра, он выдает IndexError.

Программа Python, использующая несколько заполнителей для демонстрации метода str.format().

Python3

my_string = "{}, is a {} science portal for {}"

print (my_string. format ( "Geeksforgeeks" , "Computer" , "Heeks" ))

". am {} years old"

       . format ( "User" , 19 ))

 

print ( "This is { } {} {} {}"

       . format ( "one" , "two" , "three" , "four" ))

Output :

 GeeksforGeeks — информационный портал для гиков. 
Привет! Меня зовут Пользователь, мне 19 лет.
Это один два три четыре 

Формат строки() IndexError

Программа Python, демонстрирующая ошибку индекса, число заполнителей равно четырем, но передано только три значения.

Python3

MY_STRING = "{}, IS A {} {} Научный портал для {}"

({}

({}

. "GeeksforGeeks" , "computer" , "geeks" ))

Output :  

 IndexError: tuple index out of range 

Форматирование строк с помощью Escape-последовательностей

Вы можете использовать два или более специально назначенных символа в строке для форматирования строки или выполнения команды. Эти символы называются управляющими последовательностями. Escape-последовательность в Python начинается с обратной косой черты (\). Например, \n — это escape-последовательность, в которой обычное значение буквы n буквально экранируется и дается альтернативное значение — новая строка.

3 6 6 '9001
Escape-последовательность Описание     Пример
\ N Разрывает строку на новую линию Print ('I разработала эту рифму, чтобы объяснить в свое время \ nall I Know')
\ T Addss A)
\ T Addss A)
\ T Adds Adss A) горизонтальная вкладка print('Время \tценная вещь')
\\ Печатает обратную косую черту print('Смотрите, как пролетает\\пока маятник качается')
Печатает одну кавычку print('Даже не важно, как сильно ты стараешься')
\”     Выводит двойную кавычку a звучит как колокольчик print('\a') 

Форматеры с позиционными и ключевыми аргументами

Когда заполнители { } пусты, Python заменит значения, переданные через str. format () в целях. Значения, которые существуют в методе str.format(), по существу кортеж типы данных и каждое отдельное значение, содержащееся в кортеже, может быть вызвано его порядковым номером, который начинается с порядкового номера 0. Эти порядковые номера могут быть переданы в фигурные скобки, которые служат заполнителями в исходной строке .

Синтаксис: {0} {1}.format(позиционный_аргумент, ключевое_аргумент)

Параметры: (позиционный_аргумент, ключевое_аргумент)

  • _аргумент Позиционное0004 могут быть целыми числами, числовыми константами с плавающей запятой, строками, символами и даже переменными.
  • Keyword_argument по сути является переменной, хранящей некоторое значение, которое передается как параметр.

Пример:

Чтобы продемонстрировать использование средств форматирования с аргументами позиционного ключа.

Python3

))0013 ( "Every {} should know the use of {} {} programming and {}"

       . format ( "programmer" , "Open" , "Источник" ,

"Операционные системы" ))

ПРИНАЧЕНИЕ (

. {1} программирование и {0}"

       . format ( "programmer" , "Open" , "Source" , "Operating Systems" ))

 

 

print ( "{gfg} является {0} научным порталом для {1}"

       . формат ( 90,9013 90,9014 "компьютер" 0014 "Гики" , GFG = "Geksforgeeks" ))

печать ( "{0} любовь {1}!!" . формат ( "Geeksforgeeks" ,

«Входные» ))

Печать (9005

(9005

. Формат ( "Geeksforgeeks" ,

"Geeks" )

Выход:

9008

GEEKSERGERESE!

Компьютерщики любят Компьютерщики для Компьютерщиков!!

Каждый программист должен знать, как использовать программирование с открытым исходным кодом и операционные системы

Каждый программист должен знать, как использовать исходный код. Открытое программирование и программист

GeeksforGeeks — портал информатики для гиков

Указание типа в Python

В фигурные скобки нашего синтаксиса можно включить дополнительные параметры. Используйте синтаксис кода формата {имя_поля: преобразование} , где имя_поля указывает порядковый номер аргумента метода str.format(), а преобразование относится к коду преобразования типа данных.

Использование %s – преобразование строки через str() перед форматированием

Python3

print ( "%20s" % ( 'geeksforgeeks' , ))

print ( "%-20s" % ( 'Interngeeks' , ))

print ( "%.5s" % ( 'Interngeeks' , ))

Выход:

интернджики
Inter 

Using %c – character  prior to formatting

Python3

type = 'bug'

 

result = 'troubling'

 

print («Я удивлялся, почему программа % s меня. 0014 % с.' %

(Результат, Тип ))

Выход:

Я удивлялся, почему это было мне. Потом до меня дошло, что это баг.

Использование %i десятичного целого числа со знаком и %d десятичного целого числа со знаком (основание-10) до форматирования

Python3

match = 12000

 

site = 'amazon'

 

print (" % s is so useful. Пробовал глянуть\

на мобиле и у них был хороший стоил % д рупий. "0037

Вывод:

амазон такой полезный. Я попытался найти мобильные телефоны, и у них был хороший, который стоил 12000 рупий

Другой полезный Тип Указание

  • %u десятичное целое без знака
  • %o восьмеричное целое с плавающей точкой 9064
  • 90 дисплей
  • b – двоичное число
  • o – восьмеричное число
  • %x – шестнадцатеричное со строчными буквами после 9
  • %X – шестнадцатеричное число с прописными буквами после 9
  • e – представление степени

Также можно указать символы форматирования. Единственное изменение заключается в использовании двоеточия (:) вместо %.

Например, вместо %s используйте {:s}, а вместо %d используйте (:d}

Синтаксис:  String {field_name:conversion} Example. format(value)
Ошибки и исключения:
ValueError : Ошибка при преобразовании типа в этом методе. 

Преобразование десятичных целых чисел с основанием 10 в числовые константы с плавающей запятой .

Формат ( 100 , "Мир. .2f}%"

       . Формат ( "Semester" , 78,234876 ))

Print (

Print ( ".

       . format ( "semester" , 78.234876 ))

 

print ( "{0} из 100 равно {1:b}"

       . Формат ( «Бинарный» , 100 ))

Печать ( ". . Формат ( «восьмиурочный» , 100 ))

9003:

:

9000. 9003:

9000. 9000.:

0004  

 Этот сайт надежно зашифрован на 100.000000%!!
Мой средний балл за этот семестр составил 78,23%.
Мой средний балл за этот семестр составил 78%
Двоичный код 100 равен 1100100.
Октальный из 100 составляет 144 

Тип Ошибки Ошибки

Демонстрация valueError при выполнении принудительных конверсий типа

Python3

Печать ( ». Температура сегодня {0: D ggreees на исходном! "

       . Формат ( 35.567 ))

ВЫХОД:

ОБЩЕСТВЕННЫЙ Подстановки или создание пробелов

Пример: Демонстрация пробелов при передаче строк в качестве параметров

По умолчанию строки выравниваются по левому краю поля, а числа выравниваются по правому краю. Мы можем изменить это, поместив код выравнивания сразу после двоеточия. 9 : центрировать текст в поле > : текст в поле с выравниванием по правому краю . Формат ( "Geeksforgeeks" , "Geeks" )

). 920S} " . Формат ( " Гики " ))

Выход:

 Geeksfore, Geeksfore, Geeksfore, Geeksforeks, Geeksforeks, Geeksforeks, есть Catherics Cormal!
На улице 40 градусов!
GeeksforGeeks была основана в 2009 году!
 GeeksforGeeks была основана в 2009 году!
*******Geeks******** 

Приложения 

Средства форматирования обычно используются для организации данных. Форматеры можно увидеть в лучшем свете, когда они используются для визуальной организации большого количества данных. Если мы показываем базы данных пользователям, использование средств форматирования для увеличения размера поля и изменения выравнивания может сделать вывод более читаемым.

Example: To demonstrate the organization of large data using format()

Python3

 

def unorganized(a, b):

     for i in range (a, b):

         print (i, i * * 2 , i * * 3 , i * * 4 )

 

def organized(a, b):

     for i in range (A, B):

Печать ( "{: 6d} {: 6d} {: 6d} {: 6d} {: 6d} {: 6d} {: 6d} {: 6d}} {: 6d}}} {: 6d}}} {: 6d}}}}} {: 6d}}}} {: 6d}}}}}} . format (i, i * * 2 , i * * 3 , i * * 4 ))

 

n1 = int ( input ( "Enter lower range :-\n" ))

n2 = int ( ввод ( "Введите верхний диапазон :-\n" ))

 

print ( -be-For-Be Form-s-s-s " )

Неорганизованный (N1, N2)

Печать ()

Печать (

Печать (

. -------" )

печать ()

 

организованный (n1, n2)

Вывод:  

нижний диапазон
 Ввод
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 

Использование словаря для форматирования строки

Использование словаря для распаковки значений в заполнители в строке, которую необходимо отформатировать. В основном мы используем ** для распаковки значений. Этот метод может быть полезен при подстановке строк при подготовке SQL-запроса.

Python3

введение = 'Меня зовут {first_name} {mid_name} {last_name} AKA the {aka}. '

full_name = {

     'first_name' : 'Tony' ,

     'middle_name' : 'Howard' ,

'last_name' : 'stark' ,

' : ' : '' , ', , , , , ' , , ', ' , , ', ' , ', ' : ' : 0014

}

 

print (introduction. format ( * * full_name))

Output:

 My name is Тони Ховард Старк, он же Железный человек. 

Python format() со списком

Учитывая список значений с плавающей запятой, задача состоит в том, чтобы усечь все значения с плавающей запятой до двух десятичных цифр. Давайте посмотрим на различные методы выполнения задачи.

Python3

    

Input = [ 100.7689454 , 17.232999 , 60.98867 , 300.83748789 ]

  

Вывод = [ '{:. 2f}' . формат (элемент) для элемент in Input ]

    

print (Output)

Output:

 ['100.77', '17.23', '60.99', ' 300.84'] 

Python format()

В этом руководстве мы узнаем о функции Python format() с помощью примеров.

Метод format() возвращает форматированное представление заданного значения, контролируемое спецификатором формата.

Пример

 значение = 45
 

# преобразовать целое число в двоичное двоичное_значение = формат (значение, 'b')

печать (двоичное_значение) # Вывод: 101101

format() Синтаксис

Синтаксис:

 format(value[ format_spec]) 

format() Параметры

Функция 5 90 format() 0 принимает два параметра 6 значение - значение, которое необходимо отформатировать

  • format_spec — Спецификация формата значения. 9" знак ::= "+" | "-" | " " ширина ::= целое число точность ::= целое число тип ::= "б" | "с" | "д" | "е" | "Э" | "ф" | "Ф" | "г" | "Г" | "н" | "о" | "с" | "х" | "Х" | "%"

    Посетите эти ссылки, чтобы узнать больше о типах форматов и выравнивании.


    format() Возвращаемое значение

    Функция format() возвращает форматированное представление заданного значения, указанного спецификатором формата.


    Пример 1: форматирование чисел с помощью format() 9-09.3f"))

    Выход

      *+1 234
    0123.4570  

    Здесь при форматировании целого числа 1234 мы указали спецификатор форматирования *>+7,d . Разберемся с каждым вариантом:

    • * - Это символ заполнения, который заполняет пустые места после форматирования
    • > — это опция выравнивания по правому краю, которая выравнивает выходную строку по правому краю
    • + - Это параметр знака, который заставляет номер быть подписанным (со знаком слева от него)
    • 7 - Это параметр ширины, который заставляет число иметь минимальную ширину 7, другие пробелы будут заполнены символом заполнения
    • .
    • , - Это оператор тысяч, который ставит запятую между всеми тысячами.
    • d — это параметр типа, указывающий, что число является целым числом.

    При форматировании числа с плавающей запятой 9 — это параметр выравнивания по центру, который выравнивает выходную строку по центру оставшегося пространства

  • - - Это опция знака, которая заставляет отображать знак только отрицательных чисел
  • 0 - Это символ, который помещается вместо пустых мест.
  • 9 — это параметр ширины, который устанавливает минимальную ширину числа до 9 (включая десятичную точку, тысячную запятую и знак)
  • .3 — это оператор точности, который устанавливает точность заданного числа с плавающей запятой в 3 разряда
  • f — это параметр типа, указывающий, что число является плавающим.

  • Пример 3: Использование format() путем переопределения __format__()

     # пользовательский метод __format__()
    класс Человек:
     

    определение __format__(я, формат): если (формат == 'возраст'): вернуть '23' вернуть 'Нет'

    print(format(Person(), "возраст"))

    Вывод

      23  

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