#11. Спецсимволы, экранирование символов, raw-строки | Python для начинающих

selfedu
24 Jul 202111:10

Summary

TLDRВ этом видео-уроке Сергей Балакиреев продолжает курс по Python, фокусируясь на специальных символах, используемых в строках. Он объясняет, как работает символ перевода строки, его влияние на многострочный текст и как использовать обратный слеш для экранирования спецсимволов. Также Сергей демонстрирует, как использовать сырые строки для игнорирования спецсимволов и предоставляет практические примеры для лучшего понимания. Это занятие помогает зрителям лучше понять работу со строками в Python и уменьшает вероятность ошибок при написании кода.

Takeaways

  • 📘 В Python есть специальные символы, которые могут быть включены в строки, например, символ новой строки (\n).
  • 🔡 Строки в Python могут быть многострочными, определяются с использованием тройных кавычек, и в них может содержаться символ перевода строки.
  • 👀 Символ перевода строки в Python является одним символом, несмотря на то, что визуально может выглядеть как два символа.
  • ⏱ При выводе многострочного текста с использованием функции print, символ перевода строки вызывает переход на новую строку.
  • 📏 Для определения длины строки с использованием функции len учитывается количество символов, включая специальные.
  • 💧 Символы, такие как обратный слеш (\), используются для экранирования специальных символов в строках.
  • 🔄 При необходимости включить обратный слеш в строку, его нужно экранировать, записывая два обратных слеша (\\).
  • 🔑 Обратный слеш также используется для определения специальных последовательностей, таких как табуляция (\t), и для экранирования кавычек.
  • 📁 При указании путей к файлам в строках обратные слеши экранируются, чтобы избежать ошибок в путях.
  • 🍎 Существуют 'сырые строки' (raw strings) в Python, где специальные последовательности игнорируются, и все символы воспринимаются буквально.
  • 🔚 В заключение, важно понимать, как работают специальные символы и экранирование в Python, особенно при работе с файлами и путями.

Q & A

  • Что такое символ перевода строки в Python и как он работает?

    -Символ перевода строки в Python обозначается как '\n'. Когда этот символ встречается в строке, функция print переносит текст на новую строку.

  • Как Python воспринимает символ перевода строки '\n' в строке?

    -Python воспринимает '\n' как один символ, даже если визуально он выглядит как два символа. Например, в строке 'Hello\nPython' символ '\n' считается одним, несмотря на то, что он переводит текст на новую строку.

  • Какие ещё специальные символы можно использовать в строках Python?

    -Помимо '\n' (перевод строки), часто используются такие специальные символы как '\t' (табуляция), '\'' (одинарная кавычка), '\"' (двойная кавычка), и '\\' (обратный слеш).

  • Что произойдет, если в строке использовать обратный слеш без специального символа?

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

  • Что такое экранирование символов и как оно используется в Python?

    -Экранирование символов в Python используется для того, чтобы указать, что следующий за обратным слешем символ должен восприниматься буквально. Например, чтобы вывести символ обратного слеша, необходимо использовать двойной слеш '\\'.

  • Как правильно записывать пути к файлам в Python?

    -Чтобы правильно записывать пути к файлам в Python, необходимо экранировать обратные слеши, например: 'C:\\Users\\Username\\Documents'. Это предотвращает неправильное восприятие специальных символов.

  • Что такое 'сырые' строки (raw strings) в Python и для чего они используются?

    -Сырые строки (raw strings) в Python начинаются с буквы 'r' перед строкой и позволяют игнорировать специальные символы, выводя их как обычные символы. Это удобно при записи путей к файлам или URL-адресов.

  • Как записать строку с кавычками внутри неё?

    -Чтобы записать строку с кавычками внутри, необходимо экранировать кавычки с помощью обратного слеша, например: '"Это строка с кавычками"'.

  • Как в Python избежать ошибок при использовании кавычек внутри строки?

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

  • Для чего рекомендуется использовать экранирование символов даже при отсутствии очевидной необходимости?

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

Outlines

00:00

😀 Основы специальных символов в Python

В первом параграфе курса по Python, Сергей Балакирев вводит студентов в тему специальных символов, таких как символ перевода строки ( ), используемых в строках Python. Он объясняет, что этот символ создает новую строку, когда используется в многострочных строках, и демонстрирует, как функция print обрабатывает этот символ. Также Сергей показывает, что символ перевода строки считается одним символом, даже если в визуальном представлении видны два символа. Он подчеркивает важность понимания специальных символов и их использования в программировании на Python.

05:03

😉 Использование обратных слешей для экранирования

Второй параграф фокусируется на использовании обратных слешей (\) для экранирования специальных символов в Python. Сергей демонстрирует, как обратный слеш используется для добавления символов, таких как табуляция или двойной слеш, в строку. Он также объясняет, что обратный слеш может быть использован для предотвращения синтаксических ошибок, когда символы, имеющие особое значение в Python, такие как кавычки, должны быть включены в строку. Примеры кода иллюстрируют, как экранирование работает в различных ситуациях, включая использование в путях к файлам.

10:04

😇 Введение в сырые строки (raw strings) в Python

В заключительном параграфе Сергей Балакирев рассматривает сырые строки (raw strings) в Python, которые игнорируют специальные последовательности символов и воспринимают все символы буквально. Он показывает, как использовать префикс 'r' для создания сырой строки и демонстрирует разницу между обычными и сырыми строками, когда они выводятся с помощью функции print. Сергей подчеркивает, что сырые строки часто используются для определения путей к файлам или HTML-страницам, где специальные последовательности не должны быть интерпретированы. Занятие заканчивается с музыкальным завершением.

Mindmap

Keywords

💡Строки

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

💡Символ перевода строки

Символ перевода строки, обозначаемый как '\n', используется в Python для создания новой строки в многострочных текстах. В видео примеры демонстрируют, как символ перевода строки позволяет структурировать текст на экране или в консоли, разделяя его на отдельные строки.

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

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

💡Обратный слеш

Обратный слеш ('\') в Python используется для экранирования специальных символов, таких как кавычки или для создания специальных последовательностей, например, '\t' для табуляции. В видео рассматривается, как обратный слеш помогает корректно интерпретировать специальные символы в строках.

💡Специальные последовательности

Специальные последовательности в Python представляют собой комбинации символов, начинающихся с обратного слеша, которые обозначают определенные действия, такие как '\n' для новой строки или '\t' для табуляции. В видео описывается, как они используются для форматирования текста.

💡Экранирование символов

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

💡Сырые строки

Сырые строки в Python - это строки, в которых специальные последовательности игнорируются, и все символы воспринимаются буквально. В видео рассматривается, как использовать префикс 'r' перед строкой для создания сырой строки, что особенно полезно при работе с путями к файлам или HTML-кодом.

💡Пути к файлам

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

💡Табуляция

Табуляция - это горизонтальный пробел определенной ширины, используемый для форматирования текста. В видео описывается, как символ '\t' используется для создания отступов при выводе текста в консоль или в многострочных текстах.

💡Функция print

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

Highlights

Знакомство со специальными символами, которые могут содержать строки в Python.

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

Пояснение того, как символ перевода строки воспринимается как один символ в Python.

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

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

Использование обратных слешей для определения специальных символов и их экранирования.

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

Введение в концепцию экранирования символов для корректного отображения строк в Python.

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

Техника использования двойных обратных слешей для корректного экранирования символов.

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

Введение в понятие сырых строк (raw strings) в Python и их особенности.

Объяснение того, как сырые строки игнорируют специальные последовательности символов.

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

Заключение занятия с обзором основных спецсимволов для строк и методов их экранирования в Python.

Transcripts

play00:00

здравствуйте дорогие друзья я сергей

play00:02

балакирев

play00:03

и мы продолжаем курс по языку python

play00:04

теперь когда познакомились со строками и

play00:07

их методами пришло время узнать какие

play00:09

специальные символы могут содержать

play00:12

строки в питоне

play00:13

с одним из них мы с вами уже столкнулись

play00:15

это вот такой символ перевода строки я

play00:18

напомню что когда например мы создаем

play00:21

многострочный текст с помощью тройных

play00:23

кавычек

play00:24

но например вот такой вот халлоу а на

play00:27

следующей строчке мой напишем slow

play00:29

python вот таким вот образом если

play00:31

вывести эту переменную о дисет в консоли

play00:34

то как раз увидим вот этот символ

play00:37

перевода строки то есть вы здесь вот

play00:39

когда у многострочный стручки делали вот

play00:42

этот переход на новую строку

play00:44

то как раз появился вот этот символ

play00:46

перевода строки то есть именно так он

play00:49

определяется в строке и когда например

play00:51

функци print встречает этот символ

play00:55

перевода строки то она соответственно

play00:57

делает переход на новую строку вот

play01:00

именно так представляется например

play01:03

многострочные строки с помощью этого

play01:06

специального символа слеш н причем это

play01:09

один символ вот смотрите если мы

play01:12

вычислим длину этой строки с помощью

play01:14

известный нам уже функций он то получим

play01:17

значение 12 вот как раз 12 получил что

play01:20

вот здесь вот 5 символов вы здесь вот у

play01:23

нас 6 символов

play01:24

это уже 11 символов а вот это

play01:27

воспринимается как один символ один

play01:31

символ перевода строки

play01:32

несмотря на то что вот здесь вот чисто

play01:34

визуально мы видим два символа

play01:36

но это служебный феол это один символ

play01:40

они 2 вот именно так его следует

play01:42

воспринимать как один отдельный символ

play01:45

специальный символ перевода строки мало

play01:48

того мы можем его явно прописывать но

play01:51

например вот в таком вот виде мы задаем

play01:53

обычную строчку и пусть она содержит

play01:56

атаки из села по on задниц далее я

play01:59

запишу вот этот символ перевода строки в

play02:02

явном виде слеш н ну а далее вот этот

play02:05

слова python теперь вот это вот с от

play02:08

веса содержит этот символ перевода

play02:10

строки и вызывая функций

play02:12

print для этой строки то мы видим что

play02:15

она отображает сначала вот этот фрагмент

play02:18

панда нет под а вот этот слышен у нас

play02:21

делает переход на следующую строку и

play02:24

второе слово тот второй фрагмент python

play02:27

мы уже видим с новой строке вот так вот

play02:30

работает этот специальный символ вообще

play02:33

в строках языка python можно прописывать

play02:35

вот такие вот специальной

play02:36

последовательности специальный символ и

play02:38

их как видите достаточно много но

play02:41

запоминать все не обязательно чаще всего

play02:43

на практике используют следующие

play02:45

перевод строки вот такой обратный слеш

play02:48

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

play02:52

символ табуляции остальные село

play02:54

используется гораздо реже и обратите

play02:56

внимание перед каждым вот этим

play02:59

специальным символом идет этот символ

play03:02

обратного слеша это своего рода маркер

play03:05

начала

play03:06

спецсимволы если после слэша идет одно

play03:10

из обозначений которую здесь в таблице

play03:13

отмечено

play03:13

то вот это все будет восприниматься как

play03:17

соответствующий спец символ либо слеш н

play03:20

либо 2 слыша

play03:22

либо слеш и кавычка либо с hd и так

play03:26

далее давайте все это я вам

play03:28

продемонстрирую на конкретных примерах в

play03:30

частности вот в эту строку т который мы

play03:33

с вами вот так вот задавали добавив

play03:35

начала вот этот специальный силу слежки

play03:38

и посмотрим как будет отображаться это

play03:42

переменная это строка с помощью функции

play03:45

плинт смотрите у нас вот здесь вот в

play03:47

начале получился вот такой вот отступ

play03:49

этот отступ табуляция как раз и был

play03:53

определен с помощью такого спец символа

play03:56

слэш то если же мы вот в этой строке

play03:58

уберем символ то напишем просто слэш

play04:01

панда и так далее то давайте посмотрим

play04:03

что у нас в итоге получится смотрите

play04:06

здесь вот этот обратный слеш про

play04:08

печатался

play04:09

далее идет франклин строки падай ниц

play04:11

переход на новую строку то есть

play04:13

отработал ты тот спит символ ну deslow

play04:15

python в действительности вот в этом

play04:18

фрагменте строки слеш п сработала

play04:22

вот это вот последняя строчка таблица то

play04:25

есть когда функции

play04:26

bring встретила обратный слеш но не

play04:29

нашла

play04:29

2 подходящий символ для какого-либо

play04:32

special спец последовательности то она

play04:36

выбрала вот эту последнюю строчку то

play04:38

есть другое и напечатал просто обратный

play04:40

слеш ну это что шло после этого

play04:42

обратного слеша

play04:43

но здесь нужно быть осторожным потому

play04:46

что вот в данном случае когда мы

play04:49

напечатали такой-то обратный слеш да он

play04:51

от бросился корректно в этой строке

play04:53

но это не всегда может быть так смотрите

play04:56

предположим что вот это вот слово нет мы

play04:59

бы хотели заключить вот в эти обратный

play05:02

слеш и то есть написать

play05:04

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

play05:07

я думаю в принципе уже догадались

play05:09

если напечатать теперь вот эту строку то

play05:12

мы увидим совсем не то что ожидаем у нас

play05:15

вот здесь вот

play05:15

невольно получился символ перехода на

play05:19

новую строку и именно так отработал

play05:22

функци print сделал перевода новую

play05:25

строку

play05:25

поэтому если мы просто хотим добавить

play05:28

обратный слеш уношу

play05:30

строчку то следует записывать 2 обратных

play05:34

слыша вот в таком видео тогда это

play05:36

гарантированно будет символом

play05:39

обратного флэша какие бы символы после

play05:42

него не шли давайте проверим значит мы

play05:44

вот задуй так вот строчку

play05:46

вызовем функцию print и теперь вот эти

play05:49

вот обратный слеш и здесь отображается

play05:50

корректно

play05:51

вот такой вот подход называется

play05:54

экранированием когда мой символы с

play05:57

двойным назначением записываем добавляя

play06:00

перед ними обратный слеш в данном случае

play06:03

получаем двойной слеш часто вот такой

play06:06

вот запись можно увидеть при определении

play06:09

например путей к файлу

play06:11

вот смотрите классический путь к файлу

play06:13

то есть у нас есть тут диск потом идет

play06:16

этот обратный слеш каталог и так далее

play06:19

так вот чтобы в строке правильно

play06:22

прописать такой маршрут

play06:24

мы как раз должны использовать обратные

play06:26

слыша

play06:27

то есть экранировать вот эти вот

play06:28

обратные слыша чтобы не дай бог

play06:31

где-нибудь вот здесь вот о маршруте не

play06:33

оказалось или букв к.н. или буковка п

play06:36

или какая-то другая

play06:38

буковка который определяет спиц

play06:39

последовательность но как например вот

play06:41

здесь вот видите у нас получился слэш д

play06:43

то есть вот получился бы здесь символ

play06:46

табуляции и давайте посмотрим как это на

play06:49

самом деле бы сработало и самой выйдем

play06:51

вот такую строку сейчас в консоль то как

play06:54

видите у нас этот маршрут оказался

play06:56

нарушенным у нас вот этот слышь ты

play06:59

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

play07:02

как раз вот это вот здесь и видим

play07:03

поэтому при записи того или иного

play07:06

маршрута всегда следует экранировать

play07:09

вот эти вот обратные слыша то есть

play07:11

прописывать еще один слэш перед ним

play07:13

тогда никаких проблем у нас уже не будет

play07:16

и выводя в консоль вот этот путь маршрут

play07:19

пас мы видим здесь как раз вот эти вот

play07:21

обратной слыша

play07:22

то есть два обратных слыша это на самом

play07:25

деле один символ один символ вот такого

play07:29

вот

play07:29

обратного слыша несмотря на то что чисто

play07:32

визуально здесь опять же два символа но

play07:34

на самом деле это один символ

play07:37

кроме обратного флэша экранировать

play07:39

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

play07:42

нас есть вот такая вот строка марковина

play07:45

и слова вот ягодка название марки вина я

play07:49

хочу записать в двойных кавычках вот

play07:51

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

play07:54

нас сейчас произойдет синтаксическая

play07:56

ошибка так делать нельзя потому что

play07:58

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

play07:59

определяет где начинается и где

play08:02

заканчивается строка

play08:03

но как все таки нам сформировать такую

play08:05

строку для этого опять же используется

play08:08

обратный слеш для экранирования вот

play08:11

таких вот символов с двойным и

play08:13

назначением если поставить перед ними

play08:15

вот акт обратный слеш и то у нас все

play08:18

получится и переменная с содержит нужную

play08:21

строку и то же самое с одинарными

play08:24

кавычками если вы здесь вот прописать

play08:26

одинарные кавычки вот так вот то у нас

play08:29

тоже все сработает никаких проблем не

play08:31

будет есть вывезем переменную с то

play08:33

увидим эту строку и кроме того используя

play08:36

одинарные кавычки внутри строки можно

play08:39

записывать обычные двойные кавычки они

play08:41

будут восприниматься совершенно

play08:42

нормально то есть может был бы сделать

play08:45

итак итак

play08:46

но все же хорошая практика считается что

play08:48

вот такие вот символ с двойным

play08:51

назначением лучше все-таки всегда

play08:53

экранирует и записывать вот в таком виде

play08:55

ну и в завершении этого занятия отмечу

play08:58

что в python можно задавать так и

play09:00

называемое сырые роуст руке это строки в

play09:04

которых игнорируется спев

play09:06

последовательности и все символа

play09:08

воспринимается буквально так как

play09:10

записанное но например у нас есть вот

play09:13

такая вот строка мы с вами я только что

play09:15

сдавали маршрутка файлов и вот сейчас

play09:18

если мы вот эту от строку выявить в

play09:20

консоль то соответствую виде вот эти

play09:22

двойные слыша то есть это вот как раз

play09:24

символ обратного слеша но давайте спать

play09:26

с помощью функции прин выведем эту

play09:28

строку в консоль увидим здесь вот такой

play09:31

вот символ обратного флэша то есть мы

play09:33

экране равале вот эти вот специальные

play09:34

последовательности но это обычную строку

play09:37

мы можем преобразовать в роуз сырую

play09:40

строку добавив перед ней маленькую букву

play09:43

р вот так вот и теперь все символы

play09:46

которые находятся внутри такой строки

play09:49

будут восприниматься буквально так как

play09:51

записаны

play09:52

смотрите вот в данном случае если мы

play09:54

опять вы и господь функций print вот эта

play09:57

перемена пас то увидим два вот этих вот

play10:00

символ слыша

play10:01

то есть до этого был один символ слэш

play10:03

когда мы просто записываю строка в

play10:05

обычно видео но когда используем роу

play10:08

строку то все символы

play10:11

воспринимаются буквально так как

play10:13

записано то есть с последовательности

play10:15

здесь игнорируются

play10:17

и правильно было бы маршрут записать уже

play10:19

вот в таком вот виде а то есть просто 1

play10:21

слышь поставить вот так вот и

play10:22

соответствую нас бы получился

play10:24

полноценный маршрут давать вы и за опять

play10:26

же с помощью print и видим вот такую

play10:28

строку и на самом деле на практике часто

play10:31

использует а тет роуст руки для

play10:34

определений например от маршрутов к

play10:36

файлу или к странице html страниц

play10:39

какого-либо сайта то есть вот там где

play10:41

нам нужно игнорировать спец

play10:43

последовательности можно использовать

play10:45

такие вот arrow строки на этом мы

play10:47

завершаем наше очередное занятие по

play10:49

python и сделал ее должны хорошо себе

play10:51

представлять что такое спецсимволы и

play10:53

экранирование символов какие основные

play10:56

спицы вал для строк существует

play10:58

и как определяется сыр и роуст руки

play11:01

[музыка]

Rate This

5.0 / 5 (0 votes)

関連タグ
PythonСпециальные символыСтроковые методыЭкранированиеСимвол перевода строкиТабуляцияКавычкиПути к файламСырые строкиПрактическое руководство
英語で要約が必要ですか?