В Python есть специальные префиксы, которые можно добавить перед строкой. Они сообщают интерпретатору, как обрабатывать эту строку. В частности, два таких префикса — «u» и «r».
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Префикс «u»
Префикс «u» используется для обозначения юникод-строки. В Python 2.x это было важно, поскольку стандартные строки были в кодировке ASCII, а не в Unicode.
Пример:
s = u'Привет, мир!'
В Python 3.x все строки по умолчанию являются юникод-строками, поэтому использование префикса «u» больше не обязательно. Однако его все еще можно использовать для обратной совместимости.
Префикс «r»
Префикс «r» создает «сырую» строку. Это означает, что все символы в строке будут интерпретироваться как есть, без обработки специальных символов, таких как обратные слеши. Это особенно полезно при работе с регулярными выражениями и путями к файлам.
Пример:
s = r'\n это не перенос строки'
В этом примере строка будет содержать буквально символы «\n», а не символ переноса строки.
Сочетание «ur»
Вы также можете комбинировать префиксы «u» и «r», создавая «сырую» юникод-строку.
Пример:
s = ur'Привет, \n мир!'
Такая строка будет в кодировке Unicode, и все в ней будет интерпретироваться буквально, без обработки специальных символов.
Преобразование обратно в «сырую» строку
Что касается преобразования юникод-строки обратно в «сырую» строку, то нет прямого способа сделать это. Вместо этого можно использовать функцию encode
, чтобы преобразовать юникод-строку в байтовую строку с использованием необходимой кодировки.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
UTF-8 и префикс «u»
Наконец, если система и текстовый редактор уже используют кодировку UTF-8, префикс «u» все равно будет полезен в Python 2.x, поскольку он сообщает интерпретатору, что строка должна быть обработана как юникод-строка. В Python 3.x это не имеет значения, поскольку все строки и так являются юникод-строками.
Добавить комментарий