Как сделать тройные кавычки в python
Перейти к содержимому

Как сделать тройные кавычки в python

  • автор:

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

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

Обновлено: 2023-06-22 20:07:51 Сергей Бензенко автор материала

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

Чаще всего одинарные и двойные кавычки в 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

Язык программирования Python может манипулировать строками, которые могут быть записаны несколькими способами. Текстовые строки могут быть заключены в одинарные кавычки ( ‘. ‘ ) или двойные кавычки ( «. » ), что в результате будет одно и то же. Знак обратной косой черты ‘\’ может использоваться для экранирования кавычек:

# одинарные кавычки >>> 'spam eggs' # 'spam eggs' # используем \' для экранирования кавычки >>> 'doesn\'t' # "doesn't" # или вместо этого, используйте двойные кавычки >>> "doesn't" "doesn't" >>> '"Yes," they said.' # '"Yes," they said.' >>> "\"Yes,\" they said." # '"Yes," they said.' >>> '"Isn\'t," they said.' # '"Isn\'t," they said.' 

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

Функция print() создает более читаемый вывод, опуская заключающие кавычки и печатая экранированные и специальные символы:

>>> '"Isn\'t," they said.' # '"Isn\'t," they said.' >>> print('"Isn\'t," they said.') # "Isn't," they said. # \n означает новую строку >>> s = 'First line.\nSecond line.' # без print(), \n включается в вывод >>> s # 'First line.\nSecond line.' # с помощью print(), \n создает новую строку >>> print(s) # First line. # Second line. 

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

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

print(""" Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to """) 

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

Usage: thingy [OPTIONS] -h Display this usage message -H hostname Hostname to connect to
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Преобразование строки в число
  • Строку в список, кортеж или множество символов
  • Одинарные, двойные и тройные кавычки в строке Python
  • Вывод специальных символов в строке Python «как есть»
  • Объединение и повторение строк
  • Индексирование строк
  • Использование срезов строк
  • Cрез строки Python от заданного символа/знака до конца строки
  • Создание макета для печати базовыми методами строк
  • Способы форматирования текстовых строк
  • Подсчет повторений слов в тексте, деление строки на список слов
  • Удаление слова из строки Python по фрагменту или шаблону
  • Удаление пунктуации из строки
  • Деление строки по заглавным буквам
  • Создание отчетов и писем по шаблонам

Строки в Python для начинающих

Строка — это тип данных, предназначенный для работы с текстом. Чтобы создать строку в Python, нужно использовать одинарные или двойные кавычки. Для многострочных строк можно использовать тройные кавычки (тоже одинарные или двойные).

first = 'Привет, мир!'
second = "Привет, мир!"
third = """У лукоморья дуб зелёный,
златая цепь на дубе том."""

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

name = input('Введите свое имя')
greeting = "Привет, " + name
print(greeting)

При запуске такой программы пользователь получит приглашение ввести свое имя и как только он это сделает, набрав на клавиатуре и нажав клавишу «Ввод», в переменную name будет записано имя, которое он ввел.

Во второй строке программы есть знакомый нам оператор «+». С его помощью две строки склеиваются в одну. В программировании такая склейка строк называется конкатенацией.

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

Привет, Василий

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

a = "" # пустая строка
b = " " # строка, состоящая из одного пробела

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

string = input('Введите любой текст')
a = len(string)
print(a)

Python с нуля. Освойте с Виртуальным ИИ-помощником!

Python — Три кавычки и ХаkеРсkиЙ способ «комментирования» кода

humanmashine's picture

Сегодня расскажу про интересную фитчу — три кавычки)))
Любые три кавычки вида « или же скажут Питону, что дальнейшие строки до следующих трёх кавычек нужно воспринимать как многострочную строку (прошу прощение за тавтологию).

str = """ take you mind and put into trash""" # создали строку из строк вида: "take you mind\nand put\ninto trash", где \n - символ конца строки #теперь тот же эффект другими кавычками: str = ''' take you mind and put into trash'''

Но это можно использовать для временного сокрытия от интерпритатора кода:

x = 3.23 """ print (x) #выполняться не будет s = "spam" #выполняться не будет """ y = x+10

Поставив три кавычки интерпритатор просто создаст строку с кодом и потом её удалит))) Тем самым мы его обманываем — Способ УЖАСНЫЙ, так как не красив, и ресурсоёмок — но во время тестирования, и если ваша среда программирования не поддерживает коментирования большого объёма строк, а строк, нуждающихся в комментировании ну уж очень много —

Key Words for FKN + antitotal forum (CS VSU):

  • неофициальный форум фкн
  • ФКН ВГУ Воронеж
  • программирование Воронеж
  • ВГУ информатика
  • ВГУ компьютерных наук
  • Log in to post comments
  • 23530 reads

vedro-compota's picture

Sat, 10/27/2012 — 22:12

мм)) у меня два вот два

мм)) у меня два вот два вопроса =

  1. почему в последнем случае интерпретатор «создаст стоку а потом удалит» — как это связано с «многострочным вводом» ,который в первом случае позволяет задать значение строковой переменной ? правильно ли я понимаю — что это от того, что начало данной «многострочной строки » — пустое — а потому интерпретатор не будет его исполнять?
  2. «обычный (традиционный)» способ многострочного комментирования — как я понимаю для python не определён. да?))

_____________
матфак вгу и остальная классика =)

  • Log in to post comments

humanmashine's picture

Sat, 10/27/2012 — 23:14

По первому вопросу: Дело в

По первому вопросу: Дело в том, что тут игра особенностью Python — все переменные — это ссылки.
С многострочным вводом это связано тем, что в классическом использовании мы обычно создаём объект выражением справа от присваивания (в данном случае строку) а потом присваиваем ссылку на созданный объект имени слева.
Так в случае «ХаКеРского» комментирования мы создаём объект, но не присваиваем его ничему, так как ссылок на этот объект ноль —

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

В общем. метод этот корявый. и относится к тому «как делать не надо», но иногда, когда нет под рукой удобной среды и уж очень надо закоментировать большой блок кода, и только для каких-то тестовых, временных задач, таких что никто кроме вас не увидит об этом действии и не назовёт вас быдлокодером , этим способом можно воспользоваться.

  • Log in to post comments

vedro-compota's picture

Sun, 10/28/2012 — 15:51

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *