#11. Спецсимволы, экранирование символов, raw-строки | Python для начинающих
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
😀 Основы специальных символов в Python
В первом параграфе курса по Python, Сергей Балакирев вводит студентов в тему специальных символов, таких как символ перевода строки ( ), используемых в строках Python. Он объясняет, что этот символ создает новую строку, когда используется в многострочных строках, и демонстрирует, как функция print обрабатывает этот символ. Также Сергей показывает, что символ перевода строки считается одним символом, даже если в визуальном представлении видны два символа. Он подчеркивает важность понимания специальных символов и их использования в программировании на Python.
😉 Использование обратных слешей для экранирования
Второй параграф фокусируется на использовании обратных слешей (\) для экранирования специальных символов в Python. Сергей демонстрирует, как обратный слеш используется для добавления символов, таких как табуляция или двойной слеш, в строку. Он также объясняет, что обратный слеш может быть использован для предотвращения синтаксических ошибок, когда символы, имеющие особое значение в Python, такие как кавычки, должны быть включены в строку. Примеры кода иллюстрируют, как экранирование работает в различных ситуациях, включая использование в путях к файлам.
😇 Введение в сырые строки (raw strings) в Python
В заключительном параграфе Сергей Балакирев рассматривает сырые строки (raw strings) в Python, которые игнорируют специальные последовательности символов и воспринимают все символы буквально. Он показывает, как использовать префикс 'r' для создания сырой строки и демонстрирует разницу между обычными и сырыми строками, когда они выводятся с помощью функции print. Сергей подчеркивает, что сырые строки часто используются для определения путей к файлам или HTML-страницам, где специальные последовательности не должны быть интерпретированы. Занятие заканчивается с музыкальным завершением.
Mindmap
Keywords
💡Строки
💡Символ перевода строки
💡Тройные кавычки
💡Обратный слеш
💡Специальные последовательности
💡Экранирование символов
💡Сырые строки
💡Пути к файлам
💡Табуляция
💡Функция print
Highlights
Знакомство со специальными символами, которые могут содержать строки в Python.
Обсуждение символа перевода строки и его использования в многострочных текстах.
Пояснение того, как символ перевода строки воспринимается как один символ в Python.
Пример использования специального символа для создания многострочных строк.
Различие между визуальным представлением и технической реализацией символа перевода строки.
Использование обратных слешей для определения специальных символов и их экранирования.
Примеры использования обратных слешей для создания строк с табуляцией и другими спецсимволами.
Введение в концепцию экранирования символов для корректного отображения строк в Python.
Обсуждение ошибок, которые могут возникнуть при неправильном использовании обратных слешей.
Техника использования двойных обратных слешей для корректного экранирования символов.
Примеры использования экранирования для определения путей к файлам и других маршрутов.
Введение в понятие сырых строк (raw strings) в Python и их особенности.
Объяснение того, как сырые строки игнорируют специальные последовательности символов.
Примеры использования сырых строк для предотвращения синтаксических ошибок при определении путей.
Заключение занятия с обзором основных спецсимволов для строк и методов их экранирования в Python.
Transcripts
здравствуйте дорогие друзья я сергей
балакирев
и мы продолжаем курс по языку python
теперь когда познакомились со строками и
их методами пришло время узнать какие
специальные символы могут содержать
строки в питоне
с одним из них мы с вами уже столкнулись
это вот такой символ перевода строки я
напомню что когда например мы создаем
многострочный текст с помощью тройных
кавычек
но например вот такой вот халлоу а на
следующей строчке мой напишем slow
python вот таким вот образом если
вывести эту переменную о дисет в консоли
то как раз увидим вот этот символ
перевода строки то есть вы здесь вот
когда у многострочный стручки делали вот
этот переход на новую строку
то как раз появился вот этот символ
перевода строки то есть именно так он
определяется в строке и когда например
функци print встречает этот символ
перевода строки то она соответственно
делает переход на новую строку вот
именно так представляется например
многострочные строки с помощью этого
специального символа слеш н причем это
один символ вот смотрите если мы
вычислим длину этой строки с помощью
известный нам уже функций он то получим
значение 12 вот как раз 12 получил что
вот здесь вот 5 символов вы здесь вот у
нас 6 символов
это уже 11 символов а вот это
воспринимается как один символ один
символ перевода строки
несмотря на то что вот здесь вот чисто
визуально мы видим два символа
но это служебный феол это один символ
они 2 вот именно так его следует
воспринимать как один отдельный символ
специальный символ перевода строки мало
того мы можем его явно прописывать но
например вот в таком вот виде мы задаем
обычную строчку и пусть она содержит
атаки из села по on задниц далее я
запишу вот этот символ перевода строки в
явном виде слеш н ну а далее вот этот
слова python теперь вот это вот с от
веса содержит этот символ перевода
строки и вызывая функций
print для этой строки то мы видим что
она отображает сначала вот этот фрагмент
панда нет под а вот этот слышен у нас
делает переход на следующую строку и
второе слово тот второй фрагмент python
мы уже видим с новой строке вот так вот
работает этот специальный символ вообще
в строках языка python можно прописывать
вот такие вот специальной
последовательности специальный символ и
их как видите достаточно много но
запоминать все не обязательно чаще всего
на практике используют следующие
перевод строки вот такой обратный слеш
кавычки одинарные и двойные но его такой
символ табуляции остальные село
используется гораздо реже и обратите
внимание перед каждым вот этим
специальным символом идет этот символ
обратного слеша это своего рода маркер
начала
спецсимволы если после слэша идет одно
из обозначений которую здесь в таблице
отмечено
то вот это все будет восприниматься как
соответствующий спец символ либо слеш н
либо 2 слыша
либо слеш и кавычка либо с hd и так
далее давайте все это я вам
продемонстрирую на конкретных примерах в
частности вот в эту строку т который мы
с вами вот так вот задавали добавив
начала вот этот специальный силу слежки
и посмотрим как будет отображаться это
переменная это строка с помощью функции
плинт смотрите у нас вот здесь вот в
начале получился вот такой вот отступ
этот отступ табуляция как раз и был
определен с помощью такого спец символа
слэш то если же мы вот в этой строке
уберем символ то напишем просто слэш
панда и так далее то давайте посмотрим
что у нас в итоге получится смотрите
здесь вот этот обратный слеш про
печатался
далее идет франклин строки падай ниц
переход на новую строку то есть
отработал ты тот спит символ ну deslow
python в действительности вот в этом
фрагменте строки слеш п сработала
вот это вот последняя строчка таблица то
есть когда функции
bring встретила обратный слеш но не
нашла
2 подходящий символ для какого-либо
special спец последовательности то она
выбрала вот эту последнюю строчку то
есть другое и напечатал просто обратный
слеш ну это что шло после этого
обратного слеша
но здесь нужно быть осторожным потому
что вот в данном случае когда мы
напечатали такой-то обратный слеш да он
от бросился корректно в этой строке
но это не всегда может быть так смотрите
предположим что вот это вот слово нет мы
бы хотели заключить вот в эти обратный
слеш и то есть написать
атакует строку что мы в итоге получим ну
я думаю в принципе уже догадались
если напечатать теперь вот эту строку то
мы увидим совсем не то что ожидаем у нас
вот здесь вот
невольно получился символ перехода на
новую строку и именно так отработал
функци print сделал перевода новую
строку
поэтому если мы просто хотим добавить
обратный слеш уношу
строчку то следует записывать 2 обратных
слыша вот в таком видео тогда это
гарантированно будет символом
обратного флэша какие бы символы после
него не шли давайте проверим значит мы
вот задуй так вот строчку
вызовем функцию print и теперь вот эти
вот обратный слеш и здесь отображается
корректно
вот такой вот подход называется
экранированием когда мой символы с
двойным назначением записываем добавляя
перед ними обратный слеш в данном случае
получаем двойной слеш часто вот такой
вот запись можно увидеть при определении
например путей к файлу
вот смотрите классический путь к файлу
то есть у нас есть тут диск потом идет
этот обратный слеш каталог и так далее
так вот чтобы в строке правильно
прописать такой маршрут
мы как раз должны использовать обратные
слыша
то есть экранировать вот эти вот
обратные слыша чтобы не дай бог
где-нибудь вот здесь вот о маршруте не
оказалось или букв к.н. или буковка п
или какая-то другая
буковка который определяет спиц
последовательность но как например вот
здесь вот видите у нас получился слэш д
то есть вот получился бы здесь символ
табуляции и давайте посмотрим как это на
самом деле бы сработало и самой выйдем
вот такую строку сейчас в консоль то как
видите у нас этот маршрут оказался
нарушенным у нас вот этот слышь ты
воспринимается как символ табуляции и мы
как раз вот это вот здесь и видим
поэтому при записи того или иного
маршрута всегда следует экранировать
вот эти вот обратные слыша то есть
прописывать еще один слэш перед ним
тогда никаких проблем у нас уже не будет
и выводя в консоль вот этот путь маршрут
пас мы видим здесь как раз вот эти вот
обратной слыша
то есть два обратных слыша это на самом
деле один символ один символ вот такого
вот
обратного слыша несмотря на то что чисто
визуально здесь опять же два символа но
на самом деле это один символ
кроме обратного флэша экранировать
следует и кавычки но например смотрите у
нас есть вот такая вот строка марковина
и слова вот ягодка название марки вина я
хочу записать в двойных кавычках вот
таким вот образом но как вы понимаете у
нас сейчас произойдет синтаксическая
ошибка так делать нельзя потому что
двойные кавычки
определяет где начинается и где
заканчивается строка
но как все таки нам сформировать такую
строку для этого опять же используется
обратный слеш для экранирования вот
таких вот символов с двойным и
назначением если поставить перед ними
вот акт обратный слеш и то у нас все
получится и переменная с содержит нужную
строку и то же самое с одинарными
кавычками если вы здесь вот прописать
одинарные кавычки вот так вот то у нас
тоже все сработает никаких проблем не
будет есть вывезем переменную с то
увидим эту строку и кроме того используя
одинарные кавычки внутри строки можно
записывать обычные двойные кавычки они
будут восприниматься совершенно
нормально то есть может был бы сделать
итак итак
но все же хорошая практика считается что
вот такие вот символ с двойным
назначением лучше все-таки всегда
экранирует и записывать вот в таком виде
ну и в завершении этого занятия отмечу
что в python можно задавать так и
называемое сырые роуст руке это строки в
которых игнорируется спев
последовательности и все символа
воспринимается буквально так как
записанное но например у нас есть вот
такая вот строка мы с вами я только что
сдавали маршрутка файлов и вот сейчас
если мы вот эту от строку выявить в
консоль то соответствую виде вот эти
двойные слыша то есть это вот как раз
символ обратного слеша но давайте спать
с помощью функции прин выведем эту
строку в консоль увидим здесь вот такой
вот символ обратного флэша то есть мы
экране равале вот эти вот специальные
последовательности но это обычную строку
мы можем преобразовать в роуз сырую
строку добавив перед ней маленькую букву
р вот так вот и теперь все символы
которые находятся внутри такой строки
будут восприниматься буквально так как
записаны
смотрите вот в данном случае если мы
опять вы и господь функций print вот эта
перемена пас то увидим два вот этих вот
символ слыша
то есть до этого был один символ слэш
когда мы просто записываю строка в
обычно видео но когда используем роу
строку то все символы
воспринимаются буквально так как
записано то есть с последовательности
здесь игнорируются
и правильно было бы маршрут записать уже
вот в таком вот виде а то есть просто 1
слышь поставить вот так вот и
соответствую нас бы получился
полноценный маршрут давать вы и за опять
же с помощью print и видим вот такую
строку и на самом деле на практике часто
использует а тет роуст руки для
определений например от маршрутов к
файлу или к странице html страниц
какого-либо сайта то есть вот там где
нам нужно игнорировать спец
последовательности можно использовать
такие вот arrow строки на этом мы
завершаем наше очередное занятие по
python и сделал ее должны хорошо себе
представлять что такое спецсимволы и
экранирование символов какие основные
спицы вал для строк существует
и как определяется сыр и роуст руки
[музыка]
5.0 / 5 (0 votes)