Работа со строками в Python: литералы

Строки в Python — упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.
Это первая часть о работе со строками, а именно о литералах строк.
Литералы строк
Работа со строками в Python очень удобна. Существует несколько литералов строк, которые мы сейчас и рассмотрим.
Строки в апострофах и в кавычках
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
Экранированные последовательности — служебные символы
Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.
| Экранированная последовательность | Назначение |
|---|---|
| \n | Перевод строки |
| \a | Звонок |
| \b | Забой |
| \f | Перевод страницы |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
| \N | Идентификатор ID базы данных Юникода |
| \uhhhh | 16-битовый символ Юникода в 16-ричном представлении |
| \Uhhhh… | 32-битовый символ Юникода в 32-ричном представлении |
| \xhh | 16-ричное значение символа |
| \ooo | 8-ричное значение символа |
| \0 | Символ Null (не является признаком конца строки) |
«Сырые» строки — подавляют экранирование
Если перед открывающей кавычкой стоит символ ‘r’ (в любом регистре), то механизм экранирования отключается.
Но, несмотря на назначение, "сырая" строка не может заканчиваться символом обратного слэша. Пути решения:
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
Это все о литералах строк и работе с ними. О функциях и методах строк я расскажу в следующей статье.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv - чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Вывод в Python без новой строки или пробела
В Python при использовании функции print() по умолчанию каждый новый элемент выводится с новой строки или с пробелом. Это логично для большинства случаев, но иногда возникает необходимость вывести данные без перехода на новую строку или пробела. Например, есть задача вывести четыре точки подряд без пробелов и переносов строк.
Стандартный код Python выглядит так:
for i in range(4): print('.')
print('.', '.', '.', '.')
В обоих случаях результат будет выведен с переходами на новую строку или с пробелами.
Для того чтобы решить данный вопрос, необходимо использовать параметр end в функции print() . Параметр end определяет, что будет добавлено после каждого вывода. По умолчанию значение end равно "\n" , что означает переход на новую строку.
Если нужно выводить элементы без перехода на новую строку, можно установить значение end равным пустой строке:
for i in range(4): print('.', end='')
Точки будут выведены на одной строке без пробелов и переносов.
Таким образом, функция print() в Python предоставляет гибкий функционал для контроля формата вывода данных.
Как перевести текст на новую строку в Python
Символ новой строки используется в Python, чтобы отмечать конец одной строки и начало новой. Важно понимать, как использовать его для вывода в консоль и работы с файлами.
В этом материале речь пойдет о следующем:
- Как определять символ новой строки в Python.
- Как использовать символ новой строки в строках и инструкциях вывода.
- Вывод текста без добавления символа новой строки в конце.
Символ новой строки
Символ новой строки в Python выглядит так \n . Он состоит из двух символов:
- Обратной косой черты.
- Символа n (в нижнем регистре).
Если встретили этот символ в строке, то знайте, что он указывает на то, что текущая строка заканчивается здесь, а новая начинается сразу после нее.
>>> print("Hello\nWorld!") Hello World!
Его же можно использовать в f-строках: print(f"Hello\nWorld!") .
Символ новой строки в print
По умолчанию инструкции вывода добавляют символ новой строки «за кулисами» в конце строки. Вот так:

Это поведение описано в документации Python. Значение параметра end встроенной функции print по умолчанию — \n . Именно таким образом символ новой строки добавляется в конце строки.
Вот определение функции:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
Значением end='\n' , поэтому именно этот символ будет добавлен к строке.
Если использовать только одну инструкцию print , то на такое поведение можно и не обратить внимание, потому что будет выведена лишь одна строка. Но если использовать сразу несколько таких инструкций:
Перенос длинного кода на новую строку Python
Если строка превышает 80 символов в длину - по PEP 8 её нужно разделить на несколько.
Пример
Пример слишком длинной строки
url = your_base_url + "/monitor-service/api/v1/components/744618a0-78c5-4e19-78f4-6d215bde64a5"
Чтобы сделать перенос строки - воспользуйтесь символом \
url = your_base_url + \ "/monitor-service/api/v1/components/744618a0-78c5-4e19-78f4-6d215bde64a5"
url = your_base_url + "/monitor-service/api/v1/components/" \ "744618a0-78c5-4e19-78f4-6d215bde64a5"
f-string
Если нужно перенести f-string , например:
print ( f' \n\n POST to < your_url >response status code is < response.status_code >\n ' )
Новую строку тоже нужно начать с f
print ( f' \n\n POST to < your_url >response status code is ' f' < response.status_code >\n ' )
Перенос при присваивании
Если нужно перенести выражение вида a = b, где b это что-то длинное:
# Правильно: # Выравнивание по открывающей скобке. foo = long_function_name(var_one, var_two, var_three, var_four) # Второй вариант так называемый "Подвешенный" отступ. foo = long_function_name ( var_one, var_two, var_three, var_four ) # Если поставить запятую в конце - закрывающую скобку можно. # поместить под первым непустым символом. result = some_function_that_takes_arguments ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , ) # Либо в начало строки. result = some_function_that_takes_arguments ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , ) # Неправильно: # Запрещено перечислять аргументы в первой строке # если следующая не выровнена. foo = long_function_name(var_one, var_two, var_three, var_four)
Объявление функций
Если нужно объявить функцию с большим числом параметров:
# Правильно: # Нужно отступить на 4 пробела, чтобы выделить параметры. def long_function_name ( var_one, var_two, var_three, var_four): print (var_one) # Неправильно # Параметры не выделяются и читать неудобно def long_function_name ( var_one, var_two, var_three, var_four): print (var_one)
if
Ветвления на основе if разрешено оформлять следующими способами:
# Без отступа. if (this_is_one_thing and that_is_another_thing): do_something() # Хороший приём - добавить комментарий, который улучшит читаемость # в редакторах с подсветкой синтаксиса. if (this_is_one_thing and that_is_another_thing): # Since both conditions are true, we can frobnicate. do_something() # Разрешено добавить отступ перед and. if (this_is_one_thing and that_is_another_thing): do_something()
Объявление списков
Списки можно объявлять двумя способами:
my_list = [ 1 , 2 , 3 , 4 , 5 , 6 , ] my_list = [ 1 , 2 , 3 , 4 , 5 , 6 , ]
Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых