Escape-символы

Модуль 1: Python Core
6 уровень , 12 лекция
Открыта

13.1 Список escape-символов

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

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

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

Вот таблица с самыми популярными из них

Escape-символ Описание
\\ Обратный слеш.
\' Одинарная кавычка.
\" Двойная кавычка.
\n Новая строка.
\r Возврат каретки.
\t Горизонтальная табуляция.
\b Забой, удаляет предыдущий символ.
\f Прогон страницы.
\a Звуковой сигнал.

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

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

13.2 Вставка Unicode-символов

С начала изобретения компьютеров они могли работать лишь со строками, содержащими латинские буквы, цифры, числа и немного знаков. Первый набор символов (кодировка ASCII) включала в себя всего 128 символов, включая управляющие типа «прогон страницы» :)

Идея Unicode возникла только в 1987 году, когда Джо Бекер из Xerox и Ли Коллинз из Apple начали обсуждение возможности создания новой системы кодировки символов, которая могла бы поддерживать все письменности мира.

Они представляли Unicode как 16-битную систему, позволяющую использовать 65,536 уникальных символов, что, по их мнению, было бы достаточно для покрытия всех известных скриптов. Но это конечно же оказалось не так :)

С течением времени Unicode расширился, включив не только больше «языковых скриптов», но и обширный набор символов, эмодзи и исторические тексты. Unicode 13.0, выпущенный в марте 2020 года, содержит более 143,000 символов, охватывающих более 150 «скриптов» и множество символьных наборов, что делает его комплексной системой кодирования для цифровой эпохи.

Unicode был добавлен в Python в версии 2.0, которая вышла в октябре 2000 года. Это значительное изменение позволило Python лучше поддерживать международные языки и символы, упрощая разработку международных приложений.

Кодировка файлов с кодом Python поддерживает Unicode, так что вы можете вставлять в текст символы на любом языке:


print("Come to the Dark Side") # Английский
print("Ven al Lado Oscuro") # Испанский
print("Komm auf die dunkle Seite") # Немецкий
print("暗黒面に来なさい") # Японский
print("来到黑暗面") # Китайский
        

Вставить в текст символ Unicode по его номеру можно с помощью 16-тиричной кодировки:

Escape-символ Описание
\\uXXXX Символ Unicode с 16-битным шестнадцатеричным значением XXXX.
\\UXXXXXXXX Символ Unicode с 32-битным шестнадцатеричным значением XXXXXXXX.

13.3 Вставка смайликов

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

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

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

Для вставки эмодзи достаточно просто скопировать его из интернета и вставить в текст


# Пример вывода смайлика
print(" 😀 ")  # выведет 😀
        

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

Для вставки эмодзи достаточно знать его код и использовать его в строке с префиксом u:


# Пример вывода смайлика
print(u"\U0001F600")  # 😀
        

Работа с библиотеками

Существуют библиотеки, такие как emoji, которые упрощают работу с эмодзи:


# Использование библиотеки emoji
from emoji import emojize

print(emojize(":grinning_face:"))
        

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

2
Задача
Модуль 1: Python Core, 6 уровень, 12 лекция
Недоступна
Всем привет!
Всем привет!
2
Задача
Модуль 1: Python Core, 6 уровень, 12 лекция
Недоступна
Это не смешно
Это не смешно
1
Опрос
Работа со строками, 6 уровень, 12 лекция
Недоступен
Работа со строками
Работа со строками
Комментарии (8)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Иван Уровень 22
12 апреля 2025
print("你好") # Китайском print("どうも") # Японском print(" مرحباً") # Арабском print("สวัสดี") # Тайском print("வணக்கம்") # Тамильском
AlterAyrol Уровень 25
20 октября 2025
Рекомендуется заменить «どうも» на более распространённое приветствие «こんにちは». 🤬🤦‍♂️(для японского приветствия)
Алексей Орлов Уровень 18
22 января 2025
Чтоб не бегать в переводчик для 1-го задания

print("嗨。")
print("こんにちは")
print("مرحبًا")
print("หวัดดี")
print("ஹாய்")
и не заниматься поиском каждого смайлика...

print(u'\U0001F600')
print(u'\U0001F923')
print(u'\U0001F602')
Assator Уровень 23
29 января 2025
китайский и тамильский не принял. Вот эти зашли print("你好") - китайский print("வணக்கம்") - тамильский
Марина Уровень 14
25 марта 2025
так тут же наверное в этом и есть суть задания, погуглить, осознать, где искать эти юникоды смайликов, может, сайты какие найти и сразу себе сохранить.....
Марина Уровень 14
25 марта 2025
но за подсказку спасибо)))🙂
Александр Уровень 14
5 апреля 2025
А я сомневаюсь, что это классная затея дать задание на написание иностранных текстов, но не дать никаких подсказок по переводу текста в иностранный язык. str = "Привет" ch = str.encode().decode('utf-16') ну нашел я, как на китайский язык перевести, а дальше-то что?? Что мне с арабами да японцами делать? ИМХО 1е задание - хауно, которое меня не учит, а только выбесило. Спасибо тому, кто выложил готовое решение.
18 декабря 2025
кнопка "правильное решение" просто существует