Кавычки внутри кавычек python

Содержание
  1. Python: экранирование кавычек
  2. Одинарные и двойные кавычки — базовое использование
  3. Варианты экранирования
  4. Тройные кавычки
  5. Обозначение строк, содержащих одинарные и двойные кавычки
  6. Многострочные строки
  7. Выводы
  8. Одинарные и двойные кавычки
  9. Тройные кавычки:
  10. Кавычки внутри кавычек python
  11. Проблема с кавычками внутри строки
  12. Экранирование строки в Python
  13. Одинарные и двойные кавычки в Python PEP8
  14. Лучшие практики использования одинарных и двойных кавычек
  15. Следует ли использовать одинарные или двойные кавычки в Python?
  16. Тройные кавычки в Python
  17. Заключение
  18. Лучшие статьи по теме
  19. 🐍 3 классических паттерна проектирования в Python: синглтон, декоратор и итератор
  20. 🐍 Аннотации типов в Python: все, что нужно знать за 5 минут
  21. 🐍 Самоучитель для начинающих: как освоить Python с нуля за 30 минут?
  22. Источники
  23. Глава 5.4 Одинарные и двойные кавычки в Python3
  24. Заключение.

Python: экранирование кавычек

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

Одинарные и двойные кавычки — базовое использование

Чаще всего одинарные и двойные кавычки в Python используются при создании строк. В них заключается последовательность символов.

>>> quotes_single = 'a_string' >>> quotes_double = "a_string" >>> quotes_single == quotes_double True

Строки, созданные с помощью одинарных и двойных кавычек, идентичны. Но нельзя их смешивать, так как это приведет к синтаксической ошибке.

>>> "mixed quotes' File "", line 1 "mixed quotes' ^ SyntaxError: EOL while scanning string literal >>> 'mixed quotes" File "", line 1 'mixed quotes" ^ SyntaxError: EOL while scanning string literal

Варианты экранирования

В Python если строка содержит специальные символы, такие как кавычки, мы должны экранировать их. Пример неправильного использования:

>>> 'It's a bad example.' File "", line 1 'It's a bad example.' ^ SyntaxError: invalid syntax

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

>>> 'It's a good example.' "It's a good example." >>> "It's a good example." "It's a good example."

Если строка содержит двойные кавычки, можно использовать одинарные. Тогда не придется экранировать двойные кавычки. Пример:

>>> 'She said, "Thank you!"' 'She said, "Thank you!"'

Но если в строке есть одинарные и двойные кавычки, и вы не экранируете содержащие строку, это приведет к синтаксической ошибке.

>>> print('She said, "Thank you! It's mine."') File "", line 1 print('She said, "Thank you! It's mine."') ^ SyntaxError: invalid syntax >>> print('She said, "Thank you! It's mine."') She said, "Thank you! It's mine."

Тройные кавычки

Обозначение строк, содержащих одинарные и двойные кавычки

Мы можем использовать тройные кавычки (то есть три одинарные кавычки или три двойные кавычки) для представления строк с одинарными и двойными кавычками, чтобы исключить необходимость экранирования любых кавычек.

>>> print('''She said, "Thank you! It's mine."''') She said, "Thank you! It's mine."

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

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

>>> print("""She said, "Thank you! It's mine."""") File "", line 1 print("""She said, "Thank you! It's mine."""") ^ SyntaxError: EOL while scanning string literal

Многострочные строки

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

>>> print("""Hello . World . !""") Hello World !

Этого же можно добиться, используя символ n для создания многострочных строк. Но это затрудняет чтение строки. А использование тройных кавычек позволяет записать строку так, как она есть.

>>> def multiple_line_comment(a, b): . ''' . a is a string # other additional description . b is a list of integers # other additional description . ''' . pass . >>> print(multiple_line_comment.__doc__) a is a string # other additional description b is a list of integers # other additional description

Мы сразу видим, что является многострочным комментарием для функции.

Выводы

В этой статье мы рассмотрели применение одинарных, двойных и тройных кавычек в Python. Краткий обзор вариантов использования:

Одинарные и двойные кавычки

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

Тройные кавычки:

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

Сергей Бензенко автор-переводчик статьи « Single, Double, and Triple Quotes in Python »

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

Источник

Кавычки внутри кавычек python

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

Проблема с кавычками внутри строки

В английском языке много одинарных кавычек (апострофов). Например, я могу написать we are или we ‘re и оба варианта обозначают одно и то же. Выбор второго варианта проблематичен, если вы хотите использовать одинарные кавычки для окружения строк в Python:

🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

Python считает, что строка заканчивается после We , поэтому все, что идет после него, считается синтаксической ошибкой. Такие ошибки легко заметить в редакторах кода, поскольку часть после We окрашивается в другой цвет.

Есть три способа обойти эту проблему:

  1. Перестать использовать сокращения ( We are → We ‘re ) – непрактично.
  2. Использовать экранирование строки – эта возможность будет рассмотрена далее.
  3. Использовать двойные кавычки – то, что мы рассмотрим позже.

Экранирование строки в Python

Основная идея экранирования строки заключается в том, чтобы предотвратить использование определенных символов в языке программирования. Например, мы не хотим, чтобы апостроф рассматривался как кавычки.

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

🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

  1. С помощью необработанной строки – напишите r перед первой кавычкой.
  2. Использовать двойную обратную косую черту – это избавит вас от экранирующего символа.

Вот как использовать оба способа:

🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

Чтобы устранить проблему, вы можете повторить решение из предыдущего раздела, но вместо этого вы можете обернуть строку в одинарные кавычки:

🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

Существуют некоторые официальные рекомендации от создателей Python, поэтому рассмотрим их далее.

Одинарные и двойные кавычки в Python PEP8

  1. PEP не дает рекомендаций по использованию одинарных или двойных кавычек – выберите правило и придерживайтесь его.
  2. Если строка окружена одинарными кавычками, используйте внутри нее двойные кавычки, чтобы избежать обратных слешей.
  3. Если строка окружена двойными кавычками, используйте внутри нее одинарные кавычки, чтобы избежать обратного слеширования.
  4. При использовании строк, заключенных в тройные кавычки, всегда используйте внутри них символы двойных кавычек.

Мы рассмотрим строки с тройными кавычками и случаи их использования в скором времени.

Лучшие практики использования одинарных и двойных кавычек

Лучшие практики для строк с одинарными кавычками:

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

Лучшие практики для строк с двойными кавычками:

  1. Используйте двойные кавычки для интерполяции текста и строк.
  2. Используйте двойные кавычки, если внутри строки есть кавычки – вы можете легко окружить кавычки одинарными кавычками.

Следует ли использовать одинарные или двойные кавычки в Python?

Окончательный ответ – это зависит в основном от ваших стилевых предпочтений. Python не делает разницы между одинарными и двойными кавычками, поэтому решение остается за вами.

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

Тройные кавычки в Python

Да, в Python есть даже третий тип кавычек. У них есть свои преимущества:

  1. Внутри них можно использовать как одинарные, так и двойные кавычки.
  2. Вы можете разделить строку на несколько строк.
  3. Они считаются лучшей практикой при написании документаций.

Давайте рассмотрим пару примеров:

print("""Triple quote string example 1""") print('''Triple quote string example 2''') print("""Here's a string I'll split into mulitple lines.""") print("""You can use 'single quotes' and "double quotes" inside!""") 

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

Тем не менее главным примером использования тройных кавычек являются строки документации (docstrings) для функций:

def sum_list(lst: list): """Iterates over every list element and sums them. Keyword arguments: lst -- the input sequence of numbers. """ res = 0 for num in lst: res += num return res 

Вы можете использовать »’ и «»» для окружения строки документа, но по правилам следует использовать последнее.

Заключение

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

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

В этой статье мы узнали:

  1. К каким проблемам могут привести кавычки внутри строки.
  2. Как можно экранировать строки в Python.
  3. В чем разница между одинарными и двойными кавычками в Python.
  4. Применение тройных кавычек.

Лучшие статьи по теме

🐍 3 классических паттерна проектирования в Python: синглтон, декоратор и итератор

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

🐍 Аннотации типов в Python: все, что нужно знать за 5 минут

В этой статье рассказываем, что такое аннотации типов, какой у них синтаксис и лучшие практики их применения.

🐍 Самоучитель для начинающих: как освоить Python с нуля за 30 минут?

Введение в Python за полчаса, а также подборка книг и YouTube-каналов на несколько месяцев интенсивного, но более вдумчивого изучения.

Источники

Источник

Глава 5.4 Одинарные и двойные кавычки в Python3

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

55

Рис 5.4-1 Использование одинарных и двойных кавычек в Python3

Однако при попытке использовать разные типы кавычек в одной строке, будет немедленно выведено сообщение об ошибке:

56

Рис 5.4-2 Ошибка в использовании кавычек разных типов

Каждый может использовать тот тип кавычек, который ему больше нравится. Разницы не будет никакой. Просто будьте внимательны, чтобы не допустить использования разных типов кавычек в одном строковом значении.

Если строка заключена в одинарные кавычки, а вам по зарез нужно вывести на экран, какое-нибудь слово в одинарных кавычках, то их, кавычки, следует экранировать символом бэкслеша, как это было показано в Главе 5.2. Вообще, все кавычки, которые необходимо вывести на экран надежнее экранировать в любом случае:

57

Рис 5.4-3 Использование нескольких одинарных кавычек в строке

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

58

Рис. 5.4-4 Использование разных типов кавычек в одной строке.

Как видите, все сработало просто отлично. Разумеется, можно для выделения строки использовать одинарные кавычки, а слова, внутри этой строки, выделять двойными кавычками. Интерпретатор Python3 достаточно сообразителен, чтобы понять: если строка начинается одним типом кавычек, заканчиваться другим типом она не может. Как удобно — так и делайте.

Заключение.

На этом пятая глава заканчивается. Мы научились использовать ключевое слово end, функции print(), разобрались, как форматировать текст, который мы выводим пользователю. Кроме того, изучили нюансы применения одинарных и двойных кавычек в Python3.

Было бы очень хорошо, если бы вы написали свой вариант программы «Шутки». Даже если вы не знаете ни одной шутки — Интернет вам поможет отыскать что-нибудь подходящее. Зато вы сможете практически закрепить полученные знания.

Источник

Читайте также:  Java exception has occurred windows 10
Оцените статью