Share This
Связаться со мной
Крути в низ
Categories
//🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

vopros veka kakie kavychki ispolzovat v python odinarnye ili dvojnye 7c628c8 - 🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

Местный переводчик Все не так просто, как кажется на первый взгляд. Рассказываем о лучших практиках применения кавычек в Python.

vopros veka kakie kavychki ispolzovat v python odinarnye ili dvojnye eb3b6cc - 🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

Python сильно отличается от, скажем, Java. В Java вы должны использовать двойные кавычки для строк, а для символов разрешено использовать только одинарные кавычки. В Python дело обстоит иначе. У вас гораздо больше гибкости, чем в статически-типизированных языках. Но хорошо ли это на самом деле?

Для чего используются одинарные кавычки в Python?

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

Вот несколько примеров:

         name = 'Bob' print(name)  channel = 'Better Data Science' print(channel)  paragraph = 'Bob likes the content on Better Data Science. Bob is cool. Be like Bob.' print(paragraph)     

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

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

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

         print('We're going skiing this winter.')     

vopros veka kakie kavychki ispolzovat v python odinarnye ili dvojnye f7b76b3 - 🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

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

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

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

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

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

         print('We're going skiing this winter.')     

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

         print('C:UsersBob')     

vopros veka kakie kavychki ispolzovat v python odinarnye ili dvojnye 8ffd9e6 - 🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

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

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

         print(r'C:UsersBob') print('C:\Users\Bob')     

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

Для чего используются двойные кавычки в Python?

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

Вот несколько примеров:

         name = 'Bob'  # Естественный язык print("It is easy to get confused with single and double quotes in Python.")  # Интерполяция строк print(f"{name} said there will be food.")  # Не нужно экранировать символы print("We're going skiing this winter.")  # Внутристрочные кавычки print("My favorite quote from Die Hard is 'Welcome to the party, pal'")     

Как видите, мы можем легко вставлять кавычки в строки, окруженные двойными кавычками. Кроме того, не нужно экранировать символ, как в случае с одинарными кавычками.

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

         print("You can't use "double quotes" inside this string.")     

vopros veka kakie kavychki ispolzovat v python odinarnye ili dvojnye e842163 - 🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

         print('You can use "double quotes" like this.')     

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

В чем разница между одинарными и двойными кавычками в Python?

Вот сводная таблица, отвечающая на вопрос, следует ли использовать одинарные или двойные кавычки в Python:

vopros veka kakie kavychki ispolzovat v python odinarnye ili dvojnye bd62b5e - 🐍 Вопрос века: какие кавычки использовать в Python – одинарные или двойные?

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

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

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

Согласно 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-каналов на несколько месяцев интенсивного, но более вдумчивого изучения.

  • 0 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

    Связаться со мной
    Close