Рубрики
Без рубрики

Как отформатировать строку, которая содержит фигурные скобки в Python?

Резюме: Используйте один из следующих способов форматирования строк, которые содержат фигурные скобки: используйте двойные фигурные скобки {{}} Использовать старое форматирование строки, то есть% оператора The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The The Traper The The The The The The The The The The The The The The The The Dyson NbileSouse Transeuse HTTPS://youtu.be/jaftshq6tym: Учитывая строковый литерал с фигурными брекетами; Как отформатировать строку и убедитесь, что вьющиеся брекеты доступны в … Как отформатировать строку, которая содержит фигурные скобки в Python? Прочитайте больше “

Автор оригинала: Shubham Sayon.

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

  • Используйте двойные фигурные брекеты {{}}
  • Используйте старый форматирование строки, то есть оператор%
  • Используйте библиотеку JSON
  • Используйте шаблонные строки

Проблема: Учитывая строковый литерал с фигурными брекетами; Как отформатировать строку и убедитесь, что фигурные брекеты доступны на выходе?

Чтобы понять заявление о проблеме, давайте посмотрим на следующий пример:

Пример:

x = "{Serial No.}{0} ".format(1)
print(x)

Выход:

Traceback (most recent call last):
  File "main.py", line 1, in 
    x = "{Serial No.}{0} ".format(1)
KeyError: 'Serial No'

Вы можете попробовать это самостоятельно в интерактивной оболочке Python:

Упражнение : Прочитайте статью и исправьте ошибку!

Из приведенного выше примера ясно, что когда мы выполняем Печать Заявление с буквальным текстом, который содержит фигурные скобки, программа повышает KeyError Если мы не предоставляем правильный синтаксис для Форматирование строки Отказ В этой статье мы будем обсуждать методы для преодоления этой проблемы и распечатать наш текст с фигурными скобками вместе со форматированием строки. Следовательно:

Желаемый выход:

{Serial No:}1

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

KeyError Исключение

А KeyError поднят, когда вы пытаетесь получить доступ или искать значение в Словарь Это не существует. Например, рассмотрим следующий словарь:

profile={
  'Name':'Shubham',
  'id':12345
}
print(profile['age'])

Вышеуказанный код поднимет KeyError исключение. Это потому, что мы пытаемся получить доступ к ключу « возраст «Что не существует в словаре Профиль Отказ Поскольку ключ не существует, мы не можем получить доступ к любому значению, используя эту клавишу.

Вот что мы получаем, когда мы выполняем вышеуказанную программу:

Traceback (most recent call last):
  File "main.py", line 8, in 
    print(profile['age'])
KeyError: 'age'

Нет, вопрос, который должен быть адресован – «Почему мы получаем Keeeror при форматировании строки, содержащей текст вместе с фигурными брекетами?»

Причина: .Format () Как правило, ожидает вещей внутри {} ключевым ключам, но в этом случае он не может сделать это, так как « » Серийный номер.' не ключ. Поэтому .Format () Невозможно разобрать данные. Это приводит к KeyError Как мы пытаемся получить доступ к ключам, который не существует.

Теперь, когда мы знаем, почему мы получаем KeyError Давайте погрузимся в решения, чтобы избежать этой ошибки.

Способ 1: Использование двойных фигурных скобок

Мы уже обсудили, что {} внутри строки формата – это специальные символы, поэтому, если мы хотим включить брекеты как часть нашего буквального текста, нам нужно сказать, что пункт строки. Format, что заданные фигурные скобки должны быть сбережены и рассматриваются как часть данного текстового литерала. Этого можно легко сделать, удвоение фигурных скобок, охватывающих строку, которая использует следующий синтаксис: {{Серийный номер.}}

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

x = "{{Serial No.}}{0} ".format(1)
print(x)

Выход:

{Serial No.}1 

Способ 2: Использование старого стиля форматирования строки (%)

Если вы не хотите использовать двойные фигурные скобки, то вы можете себе представлять собой старый стиль форматирования строки, который использует модуль ( %) оператор. Давайте посмотрим на следующую программу, чтобы понять, как мы можем использовать оператор Modulo для печати нашей строки вместе с вьющимися брендами.

x = " {Serial No.}%s"
print (x%(1)) 

Выход

{Serial No.}1

Метод 3: Использование библиотеки JSON

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

json.dumps () Метод используется для покрытия объекта Python, как словарь, к строке JSON.

Рассмотрим следующий пример, который объясняет, как мы можем использовать библиотеку JSON для печати строк JSON:

import json


group = "Admin"
id = 1111
x = {"ID" : id, "Group" : group}
print(json.dumps(x))

Выход:

{"ID": 1111, "Group": "Admin"}

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

group = "Admin"
id = 1111
print('{{"ID": {}, "Group": {}}}'.format(id,group))

Выход:

{"ID": 1111, "Group": Admin}

Метод 4: Использование строк шаблона

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

Заменитель () Метод выполняет замену шаблона и возвращает новую строку.

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

Давайте посмотрим на следующую программу, чтобы понять использование Шаблон Строки:

from string import Template
x = Template("$open Serial No: $close")
x = x.substitute(open='{',close='}')
print('{} {}'.format(x,1))

Выход:

{ Serial No: } 1

УПРАЖНЕНИЕ

Теперь давайте приступим на наши руки и практикуйте некоторые кодировки. Можете ли вы угадать вывод следующего фрагмента?

Примечание. Убедитесь, что вы следуете комментариям в данном фрагменте, который откроется для вас важной концепции!

greet = "HELLO FINXTER"
name = input("Enter Your Name: ")
age = input("Enter Your Age:")
print("\n")
#  to resolve an expression in the brackets instead of using literal text use three sets of curly braces
print(f"{{{greet.lower()}}} {name}")
print('{{You are {} years old!}}'.format(age))

Вывод

В этой статье мы обсудили различные методы для форматирования строки, которая содержит фигурные скобки в Python. Честно говоря, двойные фигурные брекеты являются простейшим решением при использовании библиотеки JSON является наиболее эффективным методом при работе с комплексными данными JSON. Тем не менее, вы всегда можете бесплатно использовать любой метод, который подходит для ваших требований, и лучшим способом получения всех этих методов – это практиковать их. Поэтому без дальнейшей задержки, пожалуйста, попробуйте их в вашей системе, и, пожалуйста, не стесняйтесь бросить запросы.

Пожалуйста, подпишитесь и оставайтесь настроенными для более интересных статей!

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.

Вы можете связаться со мной @: