Python – популярный язык разработки, которому обучаются многие программисты. Он является скриптовым, общего назначения. Обладает широким применением в различных сферах – от веб-страниц до формирования сложных клиент-серверных систем. Является универсальным средством разработки.
Для того, чтобы создавать приложения на Python, разработчику потребуется выучить его основы и инструменты, а также библиотеки и фреймворки. А еще – разобраться с базовой терминологией в программировании, которая поможет быстрее освоить материал.
Данная статья расскажет о строках. Они широко используются в разработке самых разных приложений на Python. Соответствующие компоненты можно применять относительно всего, что может быть представлено в текстовой форме.
Перед тем как изучать the strings в Питоне, необходимо выяснить, какие сильные и слабые стороны есть у данного языка программирования. Он используется в:
- мобильной разработке;
- компьютерных программах;
- клиент-серверных моделях;
- формировании операционных систем;
- веб-приложениях.
Для игрового программного обеспечения Python тоже применяется, но обычно в качестве дополнения. На нем можно создать элементарные приложения, а вот для более сложных продуктов придется использовать иные ЯП.
К преимуществам относят:
- кроссплатформенность;
- отличную поддержку и дружелюбное сообщество;
- наличие динамической типизации;
- простой и понятный исходный код;
- гармонично разработанный синтаксис – с ним справится даже новичок;
- функциональность и обилие различных библиотек;
- возможность быстро обнаружить ошибки за счет интерпретируемости;
- наличие собственной системы оповещений об ошибках.
Недостатки у The Python тоже имеются:
- относительная медлительность;
- не самая лучшая работа с памятью;
- строгая привязка к системным библиотекам.
Данный язык программирования отлично подходит новичкам, а также тем, кто пока не планирует особо крупные проекты. Нередко The Python изучается в качестве дополнения. С его помощью удается сделать большинство масштабных разработок более функциональными и понятными.
Основная терминология в программировании
Для того, чтобы работать со строками и иными компонентами при создании кода приложения на Питоне, нужно освоить базовые термины. Без них не получится разобраться ни с одним исходным файлом программы:
- Алгоритм – инструкции и правила, которые необходимы для решения тех или иных задач.
- API – интерфейс прикладного программирования. Некие правила и процедуры, а также протоколы, используемые для формирования приложений. Помогают «общаться» со сторонними службами и другими программами.
- Аргумент – значение, передаваемое в имеющиеся функции и команды.
- Символ (char) – элементарная единица информации. Она равна одной буквенной или символьной записи.
- Объект (object) – комбинация связанных переменных, констант и иных структур информации, используемая для совместной выборки и обработки.
- Класс (class) – связанные между собой объекты с общими свойствами.
- Переменная – именованная ячейка памяти. Место хранения информации.
- Константа – значение, которое никогда не меняется. Оно остается фиксированным на протяжении всего жизненного цикла программы. Может быть выражена числом, символом или строкой (the string).
- Тип данных – классификация информации того или иного типа.
- Массив (array) – группа или список схожих типов значений данных, которые обязательно группируются.
- Исключение – особое состояние, которое возникает при выполнении исходного кода. Оно служит аномальным для приложения, нехарактерным.
- Фреймворк – блок кода, помогающий быстрее программировать. Разработчик может менять его под свои нужды, чтобы создавать однотипные приложения.
- Петля – последовательность алгоритмов, которая будет повторять написанный фрагмент кода снова и снова. Происходит это до тех пор, пока не достигнуто установленное условие. Также носит название цикла.
- Бесконечный цикл – непрерывное повторение части кода. Оно никогда не прекращается самостоятельно.
- Итерация – один проход через набор заданных операций в исходном коде.
- Ключевое слово – слова, которые зарезервированы языком, а также используются для выполнения определенных команд и задач. Могут выступать в качестве параметров.
- Операнд – объекты, которыми можно управлять при помощи операторов.
- Оператор – объект, манипулирующий разными операторами.
Также стоит запомнить понятие синтаксиса. Это установленные языком правила о том, как грамотно передавать операторы.
Данная информация поможет быстрее освоить базовые навыки программирования, а также не путаться в имеющемся коде и читать его. Предложенные определения относятся к объектно-ориентированной разработке.
Строки – базовые навыки работы
The string – это строка. Так называется тип данных, используемый для представления текста. The string относится к базовому типу. Последовательности символов в упорядоченном виде, которые применяются при хранении и представлении текстовой информации.
Для того, чтобы создать the string, нужно использовать одинарные или двойные кавычки. Форма представления данного компонента:
При выборе того или иного варианта необходимо действовать внимательно и последовательно. Кавычки в the strings можно использовать любые, но лучше использовать по проекту единый стиль исполнения.
Стоит обратить внимание на то, что строки в апострофах и в кавычках – это разные составляющие кода. Это позволяет вставлять в литералы the strings символы кавычек/апострофов без экранирования.
Если перед открывающейся кавычкой стоит r в любом регистре, то экранирование будет отключено. Можно в процессе разработки в the strings использовать тройные кавычки. Они применяются для многострочных блоков текста. Внутри такой the string поддерживается присутствие кавычек и апострофов. Главное, чтобы не было трех кавычек подряд:
Далее будут рассмотрены ключевые моменты, связанные с работой с the strings in Python. Предложенная информация пригодится не только опытным разработчикам, но и новичкам.
Операторы
The strings – элемент кода будущего приложения, с которым можно выполнять различные действия. Для этого применяются те или иные операторы. Аккуратно требуется применять:
Особо полезным станет проверка на наличие содержания в the string подстроки или символа. За соответствующую операцию отвечает operator in.
Сложение
Теперь можно изучить эти три оператора. Они применяются на практике чаще всего. При помощи оператора сложения (+) допускается объединение двух или несколько strings:
При обработке соответствующего кода в качестве результата на экран будет выведена the string со словом somewhere.
Умножение
The string поддерживает оператор умножения. Он используется для аналогичной математической операции, но с текстовыми данными. Ниже приведен наглядный пример кода:
При его обработке на консоли появится ��адпись hellohellohello. Связано это с тем, что заданная переменная word должна повторяться трижды.
Оператор in
In the string можно задействовать оператор in. Это своеобразная проверка нахождения подстроки или символа в заданной последовательности. Применяется для того, чтобы определить, есть ли конкретное слово или символ in the string.
Рекомендуется запомнить следующие правила:
- условно значение true возвращается, если в the string обнаружен проверяемый элемент;
- параметр false появляется, когда в строке отсутствуют искомые компоненты.
Соответствующая концепция может применяться в большинстве сложных задач:
Выше – пример того, как будут условно выглядеть описанные ранее правила. А вот вариант с поиском конкретного символьного значения:
Тут программа ищет символ «e» в заданном слове. При его обнаружении выводит на экран True, в противном случае – False.
Индексация
String in the Python – это некий набор символов. Каждый элемент в строке обладает так называемым индексом – порядковым номером. С его помощью можно получить доступ к любому символу в string.
Об индексации в строках Питона необходимо запомнить следующее:
- она начинается с 0;
- для получения доступа к конкретному символу нужно использовать запись string [i], где i – это index;
- если индекс выходит за пределы строки, на экране появится ошибка IndexError.
Вот наглядный пример, который вернет i-ый символ заданной string:
А вот еще один пример. Он поможет лучше освоить индексы в the string:
Ошибка появляется из-за того, что разработчик пытается получить доступ к элементу с несуществующим индексом. С index = 5 происходит обращение к шестому компоненты в заданной строке.
Нарезка
В некоторых задачах приходится производить так называемую нарезку. Она позволяет получить доступ к определенному внутри string диапазону. Самый простой подход требует указания начальных и конечных индексов. Форма записи:
String[start:end].
Результатом послужит срез символов заданной исходной строки. Туда будут включены элементы от начального до конечного индекса. «Последний» не включен в полученный срез.
Полный синтаксис соответствующего оператор подразумевает дополнительный параметр – шаг. Форма представления:
String [start:end:step].
Шаг указывает, через сколько символов необходимо «перепрыгивать». При пропуске (по умолчанию) этот параметр равен единице.
Выше – пример, предусматривающий вывод каждого второго символа из первых 8 в the string.
Встройка переменных
Переменная – это элементарное место хранения информации с заданным именем. Довольно часто в задачах Python требуется вписывать их в strings. Для этого используются F-строки (форматированные строки). С их помощью получается гармонично вписать программный код в пределах the string.
Для создания F-строки требуется добавить f перед соответствующим компонентом кода. Далее – в квадратных скобках написать желаемый фрагмент приложения:
Здесь происходит встраивание в строку имени. Оно хранится в переменной под названием name. Разбирать строку на несколько частей теперь не придется.
Выше – наглядный пример, доказывающий возможность использования блоков кода внутри F-строк.
Изменение строк
Python strings нельзя изменять. Связано это с тем, что строка в данном языке программирования выступает в качестве неизменного типа данных. Выражается константным набором символов.
Для того, чтобы вывести на экран «измененную» строку, достаточно создать новую string из исходной с уже внесенными изменениями. Новый элемент выступит модифицированной копией первоначального компонента.
В Python много встроенных методов, позволяющих работать со строками. Они широко используются для решения большинства задач в разработке.
Методы для работы со строками
Встроенный модуль string обладает огромным количеством methods, которые используются для оперирования строками. Применяются для более быстрой разработки.
Пример – метод replace(). Он позволит заменить символ in the string на другой. Без данного метода разработчику пришлось бы реализовывать собственную логику внесения изменений. Связано это с невозможностью корректировки strings в Питоне «по умолчанию».
Всего в изучаемом языке программирования 47 методов работы со строками. Далее предстоит рассмотреть их более подробно.
Склеивание и разделение
Один из способов «склеивания» строк – это использование оператора «+». В Python для этого существует отдельных метод. Он носит название join(). Перед ним необходимо указать разделитель the string, а в скобках – необходимый массив информации:
Для разделения string используется обратный метод – split(). В нем:
- в скобках пишется набор символов, по которым производится дробление;
- перед методом указывается имя строки;
- после string name ставится точка.
Пример выше объясняет принцип работы данного приема. Можно разделить строки в Python при помощи так называемого среза. Он имеет вид:
Str[x;y].
Позволяет получить строку от символа x до y. Оба параметра указывать не обязательно. Если не написать значение y, произойдет срез до конца заданной the string.
Еще один способ «срезать» каждый n-символ в строке – это использование двойного двоеточия. Выше можно увидеть фрагмент кода, объясняющий соответствующий алгоритм.
Поиск
Для поиска набора символов в начале или конце заданного текстового строкового массива можно воспользоваться несколькими методами:
- startswith() – дает возможность поиска набора символа с начала;
- endswith() – используется для поиска символьного набора в конце строки.
Если необходимо обнаружить символы в произвольном месте строки, потребуется задействовать метод find().
В приведенном примере происходит вывод -1 из-за того, что приложение не обнаружило искомое значение в заданной строке.
Замена
Следующий удобный метод отвечает за замену. Ниже – образец кода, работающий с ним:
Для того, чтобы заменить набор символов на другой в пределах the string, потребуется задействовать метод replace().
Каждый элемент отдельно и длина
Strings в Питоне иногда требуют получения и обработки каждого имеющегося символа отдельно друг от друга. Для этого рекомендуется воспользоваться циклом for.
А для того, чтобы получить длину the string, требуется метод len().
Строка в число и регистр
Если есть строка, включающая в себя цифры, можно преобразовать ее в число. Для этого необходимо, чтобы другие типы текста отсутствовали. Используется для операции функция приведения int().
Чтобы заменить регистр всех букв в the string и сделать их заглавными, необходимо применить метод upper(). Для строчных элементов используется lower(). Чтобы сделать букву в строке заглавной, применяется метод capitalize().
Удаление пробелов
Иногда в строке в процессе написания кода появляются лишние пробелы. Они мешают отображению информации при исполнении приложения. Для устранения данной проблемы используются методы:
- strip() – работает в начале и конце string;
- istrip() – отвечает за удаление пробелов в начале;
- rstrip() – убирает пробелы в конце.
Это – базовые методы, используемые на практике чаще остальных. Оперируя доступными вариантами, можно создавать весьма сложные приложения в Питоне.
Таблица методов
The strings имеют 47 методов для работы с рассматриваемым компонентом. Некоторые из них используются весьма редко, они применяются преимущественно опытными разработчиками:
НазваниеОписаниеCasefoldОтвечает за преобразование the string в нижний регистр. Имеет больше вариантом, чем lower. Применяется при локализации/глобализации.CountОтвечает за возврат количества вхождений символа или подстрокиCenterВозвращение центрированной the stringEndwithПроверка на то, заканчивается ли string определенным символом/подстрокойEncodeКодировка the stringFindОтвечает за поиск конкретного символа или подстроки. Возвращает позицию, где элемент был впервые обнаруженExpandtabsУказывает табуляцию и осуществляет ее возвратFormatДобавляет переменные внутрь имеющейся последовательности. Форматирует the string путем встраивания в нее значений. Далее возвращает результат.Format_mapФорматирование определенных значенийisalnumМетод, который проверяет, все ли символы в заданной последовательности относятся к буквам и цифрамCapitalizeПреобразование первого символа в верхний регистрIndexПоиск элемента в the string. Возвращает индекс, по которому компонент был впервые обнаружен.IsasciiПроверка на принадлежность всех компонентов к таблице ASCIIIsalphaВсе ли элементы заданной последовательности относятся к буквеннымIsdigitПроверка на принадлежность всех составляющих в цифрамIsdecimalПроверка на отношение к десятичным числамJoinСоединение нескольких объектов в одну the stringLowerПечать всего массива в нижнем регистреLjustВыравнивание по левому краюIpupperПроверка на верхний регистр всех элементов в «массиве»IstitleСоответствие the string действующим правилам написания заголовка (каждое слово – с заглавной буквы)IsprintableПроверка символов на доступность для печатиIsspaceИспользуется, чтобы удостовериться в том, что все элементы последовательности – пробелыIsnumericВсе ли символы строки – это цифрыIstripУдаление пробелов слеваMaketransСоздание таблицы преобразования элементов (для метода translate())RemovesuffixУдаление суффикса из конца «массива»RemoveprefixИзбавление от префиксаReplaceВозвращает the string, в которой конкретный компонент или подстрока заменены чем-то инымRfindВозврат последнего индекса по заданному искомому компонентуRindexВозвращает последний индекс, по которому в the string был обнаружен элемент. При неудаче выводит на дисплей устройства сообщение об ошибке.RjustВыравнивание по правому краюRsplitРазбиение по указанному разделителюRpartitionДеление на три части. Искомая центральная область выступает аргументом метода.RstripУдаление пробелов справаSplitРазделение по заданному разделителю. Вернет значение в качестве списка компонентов in the string.StatwithПроверяет, начинается ли «массив» с заданного компонентаSplitlinesРазбивает the string по символам переноса. Результатом становится возврат списка строк.TitleПреобразование каждого слова. После применения метода все элементы в «массиве» будут начинаться с заглавных букв.UpperПеревод имеющихся в строчке символов (всех) в верхний регистрSwapcaseПеревод всех символов в нижний регистр, а также наоборотTranslateПереводZfillЗаполнение строчки нулями.
Данная таблица поможет понять, что можно выполнить со строками в Питоне без дополнительной разработки собственной логики и сложных алгоритмов.
Как быстро освоить направление
Python – язык программирования с достаточно простым синтаксисом. Его многие стараются выучить самостоятельно. В этом помогают различная специализированная литература, а также видео-уроки. Только самообразование может затянуться. Оно не имеет документального подтверждения приобретенных навыков и знаний, а теме «strings in the Python» посвящено множество статей. Там не всегда материал подается полно и понятно.
Чтобы Питон и любой его компонент были понятны, рекомендуется закончить дистанционные компьютерные курсы. На них:
- Образовательный процесс проводится в режиме онлайн. Курс рассчитан на срок от пары месяцев до года.
- Гарантируется поддержка (кураторство), даются интересные домашние задания.
- Учат программировать с нуля.
Пользователи смогут выбрать одно или несколько направлений в зависимости от имеющегося багажа знаний. Завершается каждый дистанционный курс вручением сертификата для документального подтверждения приобретенных навыков во время учебы.
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Строки в Python от А до Я OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Python – популярный язык разработки, которому обучаются многие программисты. Он является скриптовым, общего назначения. Обладает широким применением в различных сферах – от веб-страниц до формирования сложных клиент-серверных систем. Является универсальным средством разработки. Для того, чтобы создавать приложения на Python, разработчику потребуется выучить его основы и инструменты, а также библиотеки и фреймворки. А еще – разобраться" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/stroki-v-python-ot-a-do-ya/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#article","name":"\u0421\u0442\u0440\u043e\u043a\u0438 \u0432 Python \u043e\u0442 \u0410 \u0434\u043e \u042f OTUS","headline":"\u0421\u0442\u0440\u043e\u043a\u0438 \u0432 Python \u043e\u0442 \u0410 \u0434\u043e \u042f","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/02\/oj-1080x720-13.jpg","width":2245,"height":1587},"datePublished":"2023-02-04T23:27:30+00:00","dateModified":"2023-02-04T23:27:31+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, Python"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#listItem","position":2,"name":"\u0421\u0442\u0440\u043e\u043a\u0438 \u0432 Python \u043e\u0442 \u0410 \u0434\u043e \u042f","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#webpage","url":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/","name":"\u0421\u0442\u0440\u043e\u043a\u0438 \u0432 Python \u043e\u0442 \u0410 \u0434\u043e \u042f OTUS","description":"Python \u2013 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043e\u0431\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b. \u041e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u043c, \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0444\u0435\u0440\u0430\u0445 \u2013 \u043e\u0442 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0434\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043a\u043b\u0438\u0435\u043d\u0442-\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Python, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0443\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u044b \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438. \u0410 \u0435\u0449\u0435 \u2013 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2023\/02\/oj-1080x720-13.jpg","@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/stroki-v-python-ot-a-do-ya\/#mainImage"},"datePublished":"2023-02-04T23:27:30+00:00","dateModified":"2023-02-04T23:27:31+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/5405" /><link rel='shortlink' href='https://otus.ru/journal/?p=5405' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fstroki-v-python-ot-a-do-ya%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fstroki-v-python-ot-a-do-ya%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-5405 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-5405" class="the-post post-5405 post type-post status-publish format-standard has-post-thumbnail category-polza tag-python">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Строки в Python от А до Я
</h1>
<a href="https://otus.ru/journal/stroki-v-python-ot-a-do-ya/" class="date-link" data-wpel-link="internal"><time class="post-date">4 февраля, 2023</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-13.jpg" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Строки в Python от А до Я" title="Строки в Python от А до Я" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-13-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-13-270x180.jpg 270w" data-src="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-13-770x515.jpg" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_Python" title="Особенности Python">Особенности Python</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8" title="Основная терминология в программировании">Основная терминология в программировании</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%E2%80%93_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BD%D0%B0%D0%B2%D1%8B%D0%BA%D0%B8_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B" title="Строки – базовые навыки работы">Строки – базовые навыки работы</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B" title="Операторы">Операторы</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%A1%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5" title="Сложение">Сложение</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%A3%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5" title="Умножение">Умножение</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_in" title="Оператор in">Оператор in</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0%D1%86%D0%B8%D1%8F" title="Индексация">Индексация</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%9D%D0%B0%D1%80%D0%B5%D0%B7%D0%BA%D0%B0" title="Нарезка">Нарезка</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%92%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85" title="Встройка переменных">Встройка переменных</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D1%80%D0%BE%D0%BA" title="Изменение строк">Изменение строк</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81%D0%BE_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8" title="Методы для работы со строками">Методы для работы со строками</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%A1%D0%BA%D0%BB%D0%B5%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Склеивание и разделение">Склеивание и разделение</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#%D0%9F%D0%BE%D0%B8%D1%81%D0%BA" title="Поиск">Поиск</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-15" href="#%D0%97%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0" title="Замена">Замена</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-16" href="#%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B0_%D0%B2_%D1%87%D0%B8%D1%81%D0%BB%D0%BE_%D0%B8_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80" title="Строка в число и регистр">Строка в число и регистр</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-17" href="#%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%B5%D0%BB%D0%BE%D0%B2" title="Удаление пробелов">Удаление пробелов</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-18" href="#%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2" title="Таблица методов">Таблица методов</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-19" href="#%D0%9A%D0%B0%D0%BA_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE_%D0%BE%D1%81%D0%B2%D0%BE%D0%B8%D1%82%D1%8C_%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Как быстро освоить направление">Как быстро освоить направление</a></li></ul></nav></div>
<p>Python – популярный язык разработки, которому обучаются многие программисты. Он является скриптовым, общего назначения. Обладает широким применением в различных сферах – от веб-страниц до формирования сложных клиент-серверных систем. Является универсальным средством разработки.</p>
<p>Для того, чтобы создавать приложения на Python, разработчику потребуется выучить его основы и инструменты, а также библиотеки и фреймворки. А еще – разобраться с базовой терминологией в программировании, которая поможет быстрее освоить материал.</p>
<p>Данная статья расскажет о строках. Они широко используются в разработке самых разных приложений на Python. Соответствующие компоненты можно применять относительно всего, что может быть представлено в текстовой форме.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_Python"></span>Особенности Python<span class="ez-toc-section-end"></span></h2>
<p>Перед тем как изучать the strings в Питоне, необходимо выяснить, какие сильные и слабые стороны есть у данного языка программирования. Он используется в:</p>
<ul>
<li>мобильной разработке;</li>
<li>компьютерных программах;</li>
<li>клиент-серверных моделях;</li>
<li>формировании операционных систем;</li>
<li>веб-приложениях.</li>
</ul>
<p>Для игрового программного обеспечения Python тоже применяется, но обычно в качестве дополнения. На нем можно создать элементарные приложения, а вот для более сложных продуктов придется использовать иные ЯП.</p>
<p>К преимуществам относят:</p>
<ul>
<li>кроссплатформенность;</li>
<li>отличную поддержку и дружелюбное сообщество;</li>
<li>наличие динамической типизации;</li>
<li>простой и понятный исходный код;</li>
<li>гармонично разработанный синтаксис – с ним справится даже новичок;</li>
<li>функциональность и обилие различных библиотек;</li>
<li>возможность быстро обнаружить ошибки за счет интерпретируемости;</li>
<li>наличие собственной системы оповещений об ошибках.</li>
</ul>
<p>Недостатки у The Python тоже имеются:</p>
<ul>
<li>относительная медлительность;</li>
<li>не самая лучшая работа с памятью;</li>
<li>строгая привязка к системным библиотекам.</li>
</ul>
<p>Данный язык программирования отлично подходит новичкам, а также тем, кто пока не планирует особо крупные проекты. Нередко The Python изучается в качестве дополнения. С его помощью удается сделать большинство масштабных разработок более функциональными и понятными.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D0%B2_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8"></span>Основная терминология в программировании<span class="ez-toc-section-end"></span></h2>
<p>Для того, чтобы работать со строками и иными компонентами при создании кода приложения на Питоне, нужно освоить базовые термины. Без них не получится разобраться ни с одним исходным файлом программы:</p>
<ol>
<li>Алгоритм – инструкции и правила, которые необходимы для решения тех или иных задач.</li>
<li>API – интерфейс прикладного программирования. Некие правила и процедуры, а также протоколы, используемые для формирования приложений. Помогают «общаться» со сторонними службами и другими программами.</li>
<li>Аргумент – значение, передаваемое в имеющиеся функции и команды.</li>
<li>Символ (char) – элементарная единица информации. Она равна одной буквенной или символьной записи.</li>
<li>Объект (object) – комбинация связанных переменных, констант и иных структур информации, используемая для совместной выборки и обработки.</li>
<li>Класс (class) – связанные между собой объекты с общими свойствами.</li>
<li>Переменная – именованная ячейка памяти. Место хранения информации.</li>
<li>Константа – значение, которое никогда не меняется. Оно остается фиксированным на протяжении всего жизненного цикла программы. Может быть выражена числом, символом или строкой (the string).</li>
<li>Тип данных – классификация информации того или иного типа.</li>
<li>Массив (array) – группа или список схожих типов значений данных, которые обязательно группируются.</li>
<li>Исключение – особое состояние, которое возникает при выполнении исходного кода. Оно служит аномальным для приложения, нехарактерным.</li>
<li>Фреймворк – блок кода, помогающий быстрее программировать. Разработчик может менять его под свои нужды, чтобы создавать однотипные приложения.</li>
<li>Петля – последовательность алгоритмов, которая будет повторять написанный фрагмент кода снова и снова. Происходит это до тех пор, пока не достигнуто установленное условие. Также носит название цикла.</li>
<li>Бесконечный цикл – непрерывное повторение части кода. Оно никогда не прекращается самостоятельно.</li>
<li>Итерация – один проход через набор заданных операций в исходном коде.</li>
<li>Ключевое слово – слова, которые зарезервированы языком, а также используются для выполнения определенных команд и задач. Могут выступать в качестве параметров.</li>
<li>Операнд – объекты, которыми можно управлять при помощи операторов.</li>
<li>Оператор – объект, манипулирующий разными операторами.</li>
</ol>
<p>Также стоит запомнить понятие синтаксиса. Это установленные языком правила о том, как грамотно передавать операторы.</p>
<p>Данная информация поможет быстрее освоить базовые навыки программирования, а также не путаться в имеющемся коде и читать его. Предложенные определения относятся к объектно-ориентированной разработке.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%E2%80%93_%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BD%D0%B0%D0%B2%D1%8B%D0%BA%D0%B8_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B"></span>Строки – базовые навыки работы<span class="ez-toc-section-end"></span></h2>
<p>The string – это строка. Так называется тип данных, используемый для представления текста. The string относится к базовому типу. Последовательности символов в упорядоченном виде, которые применяются при хранении и представлении текстовой информации.</p>
<p>Для того, чтобы создать the string, нужно использовать одинарные или двойные кавычки. Форма представления данного компонента:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/pmw4e94kUFlrYXvv4DeQ4g6CmQxHNSJvsr45hA9Fp0hhuMB-pCufuSl3pSfrQWKVK_5z1FMwv2WHL_9aDduJ5y02-nBcSlCs2o77ORkZNd8jpic-cFK6bQfEWESrkQNmY415k-kcMSO_4PmK8zDLjA" alt="Строки в Python от А до Я"/></figure>
<p>При выборе того или иного варианта необходимо действовать внимательно и последовательно. Кавычки в the strings можно использовать любые, но лучше использовать по проекту единый стиль исполнения.</p>
<p>Стоит обратить внимание на то, что строки в апострофах и в кавычках – это разные составляющие кода. Это позволяет вставлять в литералы the strings символы кавычек/апострофов без экранирования.</p>
<p>Если перед открывающейся кавычкой стоит r в любом регистре, то экранирование будет отключено. Можно в процессе разработки в the strings использовать тройные кавычки. Они применяются для многострочных блоков текста. Внутри такой the string поддерживается присутствие кавычек и апострофов. Главное, чтобы не было трех кавычек подряд:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/ofqrDYAD7frmGwv0lhsQwKX6sxa8WQbAf6wBsXWJN9EQqF4cnp_jOyXZqyCmfT_cwGqCR187DPuiXASOeECN6OV5XAPReM-ve4E0Eq_tLrWLLsp4tbCanlV_C6GR_re8EVtB0CWT_kwgS4c_yKaO1A" alt="Строки в Python от А до Я"/></figure>
<p>Далее будут рассмотрены ключевые моменты, связанные с работой с the strings in Python. Предложенная информация пригодится не только опытным разработчикам, но и новичкам.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B"></span>Операторы<span class="ez-toc-section-end"></span></h3>
<p>The strings – элемент кода будущего приложения, с которым можно выполнять различные действия. Для этого применяются те или иные операторы. Аккуратно требуется применять:</p>
<ul>
<li>сложение;</li>
<li>умножение.</li>
</ul>
<p>Особо полезным станет проверка на наличие содержания в the string подстроки или символа. За соответствующую операцию отвечает operator in.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5"></span><em>Сложение</em><span class="ez-toc-section-end"></span></h4>
<p>Теперь можно изучить эти три оператора. Они применяются на практике чаще всего. При помощи оператора сложения (+) допускается объединение двух или несколько strings:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/akeCB04zSct0OlcepanU5NmbLad3gqvi42yR34oqzwz1DSnTEjCbX80fC1y0FZR8fCoyoP5qWdRKG7QenQmYnf6PJxgdNKmH-f7rLls9B9WES-3YTjUJZsluMf3kVMCryT2wfQ-5xrPODa9EEp0-Qw" alt="Строки в Python от А до Я"/></figure>
<p>При обработке соответствующего кода в качестве результата на экран будет выведена the string со словом somewhere.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A3%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5"></span><em>Умножение</em><span class="ez-toc-section-end"></span></h4>
<p>The string поддерживает оператор умножения. Он используется для аналогичной математической операции, но с текстовыми данными. Ниже приведен наглядный пример кода:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/2uiAj_Z18COmhALy09bM7Y5ALAMenOVtn0LBRNo_e5Ra86tVP8K6qQJOZX3Ey5XiR1B12rBeIpiBuukuYIuI6Tu5K9IC2zwW5SGz-ZxTs2xPtIcmOBH85wy_vJ12Ar2_dOsVDTpjJd0w4XxI3vHxgg" alt="Строки в Python от А до Я"/></figure>
<p>При его обработке на консоли появится надпись hellohellohello. Связано это с тем, что заданная переменная word должна повторяться трижды.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_in"></span><em>Оператор in</em><span class="ez-toc-section-end"></span></h4>
<p>In the string можно задействовать оператор in. Это своеобразная проверка нахождения подстроки или символа в заданной последовательности. Применяется для того, чтобы определить, есть ли конкретное слово или символ in the string.</p>
<p>Рекомендуется запомнить следующие правила:</p>
<ul>
<li>условно значение true возвращается, если в the string обнаружен проверяемый элемент;</li>
<li>параметр false появляется, когда в строке отсутствуют искомые компоненты.</li>
</ul>
<p>Соответствующая концепция может применяться в большинстве сложных задач:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/7XSkXVSenRtrXo-YRoEIKhp-j2Wx4WLLBm1meRZcfhwdbIkHsETDK2QfSax7CK_gL_XYMPJzYOvjF-T-RK5atngOpTeXglO62CcivnZdN3vtIMAUiVtShtAgyVqKERoYkcPYy5VnHSvQWxlDSwcqqQ" alt="Строки в Python от А до Я"/></figure>
<p>Выше – пример того, как будут условно выглядеть описанные ранее правила. А вот вариант с поиском конкретного символьного значения:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/7iS3lcIcza8wbsWdgKlTgRWS1HC9LulUqHPLbU2B2pRgtBmJniA_qoZfr9v3Uia_QfctGMyn8UHgcoULHG86KXuj71Q4B-OzGFs33Y0MnoR41d0g558C_D7LuQMRSjZeOG9v9h-x-AEO5bZ824kCzQ" alt="Строки в Python от А до Я"/></figure>
<p>Тут программа ищет символ «e» в заданном слове. При его обнаружении выводит на экран True, в противном случае – False.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%B0%D1%86%D0%B8%D1%8F"></span>Индексация<span class="ez-toc-section-end"></span></h3>
<p>String in the Python – это некий набор символов. Каждый элемент в строке обладает так называемым индексом – порядковым номером. С его помощью можно получить доступ к любому символу в string.</p>
<p>Об индексации в строках Питона необходимо запомнить следующее:</p>
<ul>
<li>она начинается с 0;</li>
<li>для получения доступа к конкретному символу нужно использовать запись string [i], где i – это index;</li>
<li>если индекс выходит за пределы строки, на экране появится ошибка IndexError.</li>
</ul>
<p>Вот наглядный пример, который вернет i-ый символ заданной string:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/9v8M9hNBnvfzeew-_Q4fswHBW0vFIwlnWxsd9wB_4035qvZnM740-3HqmRUqbMMQDl-u9hI0VYNY-tHp0Yayu5e2E2SpHoomJXuc7E-TfVfIUB0dhOcr-4UEMjYQ829bfB8ADU80CswB-g1SNBRGwg" alt="Строки в Python от А до Я"/></figure>
<p>А вот еще один пример. Он поможет лучше освоить индексы в the string:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/X-s2iQWXu-yPxtCgbRklLO-oGLXVX_M9PS2xFUzxQgWJGe9hdBXb6UJ_d65C-QaVOpUm1vBUSI-LSw51WSyO6dxmGqBWXa2CLQo7wH_A1yhIfwclD1fjniqCX6X1wr6Z8NToEsn3Fv_qT60Djk78CQ" alt="Строки в Python от А до Я"/></figure>
<p>Ошибка появляется из-за того, что разработчик пытается получить доступ к элементу с несуществующим индексом. С index = 5 происходит обращение к шестому компоненты в заданной строке.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B0%D1%80%D0%B5%D0%B7%D0%BA%D0%B0"></span>Нарезка<span class="ez-toc-section-end"></span></h3>
<p>В некоторых задачах приходится производить так называемую нарезку. Она позволяет получить доступ к определенному внутри string диапазону. Самый простой подход требует указания начальных и конечных индексов. Форма записи:</p>
<p>String[start:end].</p>
<p>Результатом послужит срез символов заданной исходной строки. Туда будут включены элементы от начального до конечного индекса. «Последний» не включен в полученный срез.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/n7EGNSEXElQi7MwdrZzO4WysIUMsAeO6H6C6UPj5y3k4oZ8QRnFc_0oblXYpEfIqiiG0Tt0dLi5qE2fofsPDUbfxAS1CTlRMT5hxlGK040CY0GRd9GpY5p9ZMV7JCN3Wp5C_Zpf8jhmq2T5FPwpcAw" alt="Строки в Python от А до Я"/></figure>
<p>Полный синтаксис соответствующего оператор подразумевает дополнительный параметр – шаг. Форма представления:</p>
<p>String [start:end:step].</p>
<p>Шаг указывает, через сколько символов необходимо «перепрыгивать». При пропуске (по умолчанию) этот параметр равен единице.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/rr7MmQ5Lc6NwUZ9HyO_gkQXUKTBkxjLoPmaFJsobRnr24SJeCEqnr4L5Wu1oTqu-E2qMZt-NFVlA132jb_0Re4_BB4KiJ0tEtwelzBDk0dRtKyb6jc2NrH4ZHi-1phMu6LyOdi_aNoTq7RGE3n9IcQ" alt="Строки в Python от А до Я"/></figure>
<p>Выше – пример, предусматривающий вывод каждого второго символа из первых 8 в the string.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85"></span>Встройка переменных<span class="ez-toc-section-end"></span></h3>
<p>Переменная – это элементарное место хранения информации с заданным именем. Довольно часто в задачах Python требуется вписывать их в strings. Для этого используются F-строки (форматированные строки). С их помощью получается гармонично вписать программный код в пределах the string.</p>
<p>Для создания F-строки требуется добавить f перед соответствующим компонентом кода. Далее – в квадратных скобках написать желаемый фрагмент приложения:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/unyoSZzc896UfeARpDOUCVkE4B8kO0ttbLQLlK3aA_KbIc8_BrGOXGN9lwlgmxT0SO9MC6mdt7G5EK8_r47iYSNQDrAFBpZiTpEHJ4Hf0PLZnF9uEkg2s2Xw5L_JvQeoLt-77mU4t7n4ZGZp8BbSLg" alt="Строки в Python от А до Я"/></figure>
<p>Здесь происходит встраивание в строку имени. Оно хранится в переменной под названием name. Разбирать строку на несколько частей теперь не придется.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/EsMuxiAbd7UoEvbDvqQIcIRRRC7SHTXnZdfE2lSBFfBB1tNHmi9WoqbHWKSxWugb4Bsrk6BKJ83QGOSGsx2SHgT-Po145o7SwROQjVvRH391T6pmXvbTpbcvfl_FZisBWh7AEnmpf1UVNjfMVn0-LQ" alt="Строки в Python от А до Я"/></figure>
<p>Выше – наглядный пример, доказывающий возможность использования блоков кода внутри F-строк.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D1%80%D0%BE%D0%BA"></span>Изменение строк<span class="ez-toc-section-end"></span></h3>
<p>Python strings нельзя изменять. Связано это с тем, что строка в данном языке программирования выступает в качестве неизменного типа данных. Выражается константным набором символов.</p>
<p>Для того, чтобы вывести на экран «измененную» строку, достаточно создать новую string из исходной с уже внесенными изменениями. Новый элемент выступит модифицированной копией первоначального компонента.</p>
<p>В Python много встроенных методов, позволяющих работать со строками. Они широко используются для решения большинства задач в разработке.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81%D0%BE_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%D0%B8"></span>Методы для работы со строками<span class="ez-toc-section-end"></span></h2>
<p>Встроенный модуль string обладает огромным количеством methods, которые используются для оперирования строками. Применяются для более быстрой разработки.</p>
<p>Пример – метод replace(). Он позволит заменить символ in the string на другой. Без данного метода разработчику пришлось бы реализовывать собственную логику внесения изменений. Связано это с невозможностью корректировки strings в Питоне «по умолчанию».</p>
<p>Всего в изучаемом языке программирования 47 методов работы со строками. Далее предстоит рассмотреть их более подробно.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BA%D0%BB%D0%B5%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5"></span>Склеивание и разделение<span class="ez-toc-section-end"></span></h3>
<p>Один из способов «склеивания» строк – это использование оператора «+». В Python для этого существует отдельных метод. Он носит название join(). Перед ним необходимо указать разделитель the string, а в скобках – необходимый массив информации:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/53zjbEkSa8LpeVoGBNgn0jS7BgWtYZk4XEjy4eIN1MT5HMHb5WoyYMqi2QEQ5ssL-K9yVdjmVWuN-hTH2KwNNGZbRe5aRHCVtZgpUYkYgdOD78saVN162rBCidC9fQMRNnLEADmC98Md_CgBqOUjAQ" alt="Строки в Python от А до Я"/></figure>
<p>Для разделения string используется обратный метод – split(). В нем:</p>
<ul>
<li>в скобках пишется набор символов, по которым производится дробление;</li>
<li>перед методом указывается имя строки;</li>
<li>после string name ставится точка.</li>
</ul>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/5ctVU_E-GXh5GithlOiBdONw3BguVMul3yDTDaij1vEkHaLsgweE_PCUmML22ohFM7KRZTUEQ2yluBQEyJrh_AqfKtxm4TNco2d-XKTjWYen1dUaMd17eXSmVa_lKvCqUEnOQ6e7CpdmdUQDhmYibA" alt="Строки в Python от А до Я"/></figure>
<p>Пример выше объясняет принцип работы данного приема. Можно разделить строки в Python при помощи так называемого среза. Он имеет вид:</p>
<p>Str[x;y].</p>
<p>Позволяет получить строку от символа x до y. Оба параметра указывать не обязательно. Если не написать значение y, произойдет срез до конца заданной the string.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/1-XS9Bb2HGIAyLBnNiqpw8-chNrqiGiSznhJWDj0bJipbYe7H651WJgOjVtla6M7QLVRQETVVsQCatY6XF_u3QmaFONqkSXLOj0SBDT3cTrDAmi7WG8_TMhXTDAn0L5hvu3usBCoVB43UmKODnb6bw" alt="Строки в Python от А до Я"/></figure>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/6e0Odp20_H7lvlpRQQeAMPTAMo4iXbmTTkR7rWa69YguNtrdjLXddC2asGb4RT3ysZ8IjqNGqbwkZPSWhA-x77eCgDHJvhOM3f3svZRbcRo5_O32ahHeVgiNuUT6CvaUNSHKzZOkhpUCB10quxtwUA" alt="Строки в Python от А до Я"/></figure>
<p>Еще один способ «срезать» каждый n-символ в строке – это использование двойного двоеточия. Выше можно увидеть фрагмент кода, объясняющий соответствующий алгоритм.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%BE%D0%B8%D1%81%D0%BA"></span>Поиск<span class="ez-toc-section-end"></span></h3>
<p>Для поиска набора символов в начале или конце заданного текстового строкового массива можно воспользоваться несколькими методами:</p>
<ul>
<li>startswith() – дает возможность поиска набора символа с начала;</li>
<li>endswith() – используется для поиска символьного набора в конце строки.</li>
</ul>
<p>Если необходимо обнаружить символы в произвольном месте строки, потребуется задействовать метод find().</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh6.googleusercontent.com/0spS2J350z1Muxit-9jYGtQJOc1nhofO_fbMy_jVQmgrdG0hFsnSabEKwXRAIdB_KvTFlT3eIEn_r8pg2WlDJRb31M28EneWlROJnDHUpjvVAuROjFDPbJvoHa9KSEwGzHg_cAn2-Y-c733ZwiZoJw" alt="Строки в Python от А до Я"/></figure>
<p>В приведенном примере происходит вывод -1 из-за того, что приложение не обнаружило искомое значение в заданной строке.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%97%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0"></span>Замена<span class="ez-toc-section-end"></span></h3>
<p>Следующий удобный метод отвечает за замену. Ниже – образец кода, работающий с ним:</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/hLavxoWlJb9f8_r84dWZb3rVMoTy2YjYKsAgZlr9zTShvJ_tmWQHe26BMpP0hP_HKzcJmHG-0cBUIaHfULA8GiXk5CHlkWfswoIip3wOtinSVVcBidhFy5OAGLNqhFubERkzKyGhh3ym0-PmVstBjw" alt="Строки в Python от А до Я"/></figure>
<p>Для того, чтобы заменить набор символов на другой в пределах the string, потребуется задействовать метод replace().</p>
<p>Каждый элемент отдельно и длина</p>
<p>Strings в Питоне иногда требуют получения и обработки каждого имеющегося символа отдельно друг от друга. Для этого рекомендуется воспользоваться циклом for.</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/rldyQ_4BlKlcg0bDWixOEHwWO-fHYOzbOBd97BtCqguL9q16F0qQ5Y7NLlJWeO3yQTFCBWfGxdrGjXGrTbvZjNDtxlTPYNOZqwjEd6qnxLosGDGEuNmA-tgJnxUm9njKZfhPCB3qNuZRJxVt0_kDOA" alt="Строки в Python от А до Я"/></figure>
<p>А для того, чтобы получить длину the string, требуется метод len().</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B0_%D0%B2_%D1%87%D0%B8%D1%81%D0%BB%D0%BE_%D0%B8_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80"></span>Строка в число и регистр<span class="ez-toc-section-end"></span></h3>
<p>Если есть строка, включающая в себя цифры, можно преобразовать ее в число. Для этого необходимо, чтобы другие типы текста отсутствовали. Используется для операции функция приведения int().</p>
<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/jG3ATaC4yjHHtmkpLfFTePF56Xg-9IWB_Ckm-IXUTMXgpHWEn2ADtvorZZ39MsoGr1Ez6UJ8NZzuwcr_WE5Fc97csFx-svChEzpgixBaTzvq3wHMIr_-2ujpgCp22emMwxSOx42jGxl3ArUdCsxAjQ" alt="Строки в Python от А до Я"/></figure>
<p>Чтобы заменить регистр всех букв в the string и сделать их заглавными, необходимо применить метод upper(). Для строчных элементов используется lower(). Чтобы сделать букву в строке заглавной, применяется метод capitalize().</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%B5%D0%BB%D0%BE%D0%B2"></span>Удаление пробелов<span class="ez-toc-section-end"></span></h3>
<p>Иногда в строке в процессе написания кода появляются лишние пробелы. Они мешают отображению информации при исполнении приложения. Для устранения данной проблемы используются методы:</p>
<ul>
<li>strip() – работает в начале и конце string;</li>
<li>istrip() – отвечает за удаление пробелов в начале;</li>
<li>rstrip() – убирает пробелы в конце.</li>
</ul>
<p>Это – базовые методы, используемые на практике чаще остальных. Оперируя доступными вариантами, можно создавать весьма сложные приложения в Питоне.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2"></span>Таблица методов<span class="ez-toc-section-end"></span></h2>
<p>The strings имеют 47 методов для работы с рассматриваемым компонентом. Некоторые из них используются весьма редко, они применяются преимущественно опытными разработчиками:</p>
<figure class="wp-block-table"><table><tbody><tr><td>Название</td><td>Описание</td></tr><tr><td>Casefold</td><td>Отвечает за преобразование the string в нижний регистр. Имеет больше вариантом, чем lower. Применяется при локализации/глобализации.</td></tr><tr><td>Count</td><td>Отвечает за возврат количества вхождений символа или подстроки</td></tr><tr><td>Center</td><td>Возвращение центрированной the string</td></tr><tr><td>Endwith</td><td>Проверка на то, заканчивается ли string определенным символом/подстрокой</td></tr><tr><td>Encode</td><td>Кодировка the string</td></tr><tr><td>Find</td><td>Отвечает за поиск конкретного символа или подстроки. Возвращает позицию, где элемент был впервые обнаружен</td></tr><tr><td>Expandtabs</td><td>Указывает табуляцию и осуществляет ее возврат</td></tr><tr><td>Format</td><td>Добавляет переменные внутрь имеющейся последовательности. Форматирует the string путем встраивания в нее значений. Далее возвращает результат.</td></tr><tr><td>Format_map</td><td>Форматирование определенных значений</td></tr><tr><td>isalnum</td><td>Метод, который проверяет, все ли символы в заданной последовательности относятся к буквам и цифрам</td></tr><tr><td>Capitalize</td><td>Преобразование первого символа в верхний регистр</td></tr><tr><td>Index</td><td>Поиск элемента в the string. Возвращает индекс, по которому компонент был впервые обнаружен.</td></tr><tr><td>Isascii</td><td>Проверка на принадлежность всех компонентов к таблице ASCII</td></tr><tr><td>Isalpha</td><td>Все ли элементы заданной последовательности относятся к буквенным</td></tr><tr><td>Isdigit</td><td>Проверка на принадлежность всех составляющих в цифрам</td></tr><tr><td>Isdecimal</td><td>Проверка на отношение к десятичным числам</td></tr><tr><td>Join</td><td>Соединение нескольких объектов в одну the string</td></tr><tr><td>Lower</td><td>Печать всего массива в нижнем регистре</td></tr><tr><td>Ljust</td><td>Выравнивание по левому краю</td></tr><tr><td>Ipupper</td><td>Проверка на верхний регистр всех элементов в «массиве»</td></tr><tr><td>Istitle</td><td>Соответствие the string действующим правилам написания заголовка (каждое слово – с заглавной буквы)</td></tr><tr><td>Isprintable</td><td>Проверка символов на доступность для печати</td></tr><tr><td>Isspace</td><td>Используется, чтобы удостовериться в том, что все элементы последовательности – пробелы</td></tr><tr><td>Isnumeric</td><td>Все ли символы строки – это цифры</td></tr><tr><td>Istrip</td><td>Удаление пробелов слева</td></tr><tr><td>Maketrans</td><td>Создание таблицы преобразования элементов (для метода translate())</td></tr><tr><td>Removesuffix</td><td>Удаление суффикса из конца «массива»</td></tr><tr><td>Removeprefix</td><td>Избавление от префикса</td></tr><tr><td>Replace</td><td>Возвращает the string, в которой конкретный компонент или подстрока заменены чем-то иным</td></tr><tr><td>Rfind</td><td>Возврат последнего индекса по заданному искомому компоненту</td></tr><tr><td>Rindex</td><td>Возвращает последний индекс, по которому в the string был обнаружен элемент. При неудаче выводит на дисплей устройства сообщение об ошибке.</td></tr><tr><td>Rjust</td><td>Выравнивание по правому краю</td></tr><tr><td>Rsplit</td><td>Разбиение по указанному разделителю</td></tr><tr><td>Rpartition</td><td>Деление на три части. Искомая центральная область выступает аргументом метода.</td></tr><tr><td>Rstrip</td><td>Удаление пробелов справа</td></tr><tr><td>Split</td><td>Разделение по заданному разделителю. Вернет значение в качестве списка компонентов in the string.</td></tr><tr><td>Statwith</td><td>Проверяет, начинается ли «массив» с заданного компонента</td></tr><tr><td>Splitlines</td><td>Разбивает the string по символам переноса. Результатом становится возврат списка строк.</td></tr><tr><td>Title</td><td>Преобразование каждого слова. После применения метода все элементы в «массиве» будут начинаться с заглавных букв.</td></tr><tr><td>Upper</td><td>Перевод имеющихся в строчке символов (всех) в верхний регистр</td></tr><tr><td>Swapcase</td><td>Перевод всех символов в нижний регистр, а также наоборот</td></tr><tr><td>Translate</td><td>Перевод</td></tr><tr><td>Zfill</td><td>Заполнение строчки нулями.</td></tr></tbody></table></figure>
<p>Данная таблица поможет понять, что можно выполнить со строками в Питоне без дополнительной разработки собственной логики и сложных алгоритмов.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%B0%D0%BA_%D0%B1%D1%8B%D1%81%D1%82%D1%80%D0%BE_%D0%BE%D1%81%D0%B2%D0%BE%D0%B8%D1%82%D1%8C_%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5"></span>Как быстро освоить направление<span class="ez-toc-section-end"></span></h2>
<p>Python – язык программирования с достаточно простым синтаксисом. Его многие стараются выучить самостоятельно. В этом помогают различная специализированная литература, а также видео-уроки. Только самообразование может затянуться. Оно не имеет документального подтверждения приобретенных навыков и знаний, а теме «strings in the Python» посвящено множество статей. Там не всегда материал подается полно и понятно.</p>
<p>Чтобы Питон и любой его компонент были понятны, рекомендуется закончить дистанционные компьютерные курсы. На них:</p>
<ol>
<li>Образовательный процесс проводится в режиме онлайн. Курс рассчитан на срок от пары месяцев до года.</li>
<li>Гарантируется поддержка (кураторство), даются интересные домашние задания.</li>
<li>Учат программировать с нуля.</li>
</ol>
<p>Пользователи смогут выбрать одно или несколько направлений в зависимости от имеющегося багажа знаний. Завершается каждый дистанционный курс вручением сертификата для документального подтверждения приобретенных навыков во время учебы.</p>
<figure class="wp-block-image"><a href="https://otus.ru/lessons/python-professional/?utm_source=oj&utm_medium=affilate&utm_campaign=python" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer"><img decoding="async" width="970" height="90" src="https://otus.ru/journal/wp-content/uploads/2022/07/Python_970x90-20219-8b1a8e-2.png" alt="Строки в Python от А до Я" class="wp-image-3953" srcset="https://otus.ru/journal/wp-content/uploads/2022/07/Python_970x90-20219-8b1a8e-2.png 970w, https://otus.ru/journal/wp-content/uploads/2022/07/Python_970x90-20219-8b1a8e-2-300x28.png 300w, https://otus.ru/journal/wp-content/uploads/2022/07/Python_970x90-20219-8b1a8e-2-150x14.png 150w, https://otus.ru/journal/wp-content/uploads/2022/07/Python_970x90-20219-8b1a8e-2-768x71.png 768w" sizes="(max-width: 970px) 100vw, 970px" /></a></figure>
<p></p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/python/" rel="tag" data-wpel-link="internal">Python</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fstroki-v-python-ot-a-do-ya%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fstroki-v-python-ot-a-do-ya%2F&text=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8%20%D0%B2%20Python%20%D0%BE%D1%82%20%D0%90%20%D0%B4%D0%BE%20%D0%AF" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fstroki-v-python-ot-a-do-ya%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fstroki-v-python-ot-a-do-ya%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2023%2F02%2Foj-1080x720-13.jpg&description=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8%20%D0%B2%20Python%20%D0%BE%D1%82%20%D0%90%20%D0%B4%D0%BE%20%D0%AF" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/osnovy-raboty-s-bazami-sql/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/osnovy-raboty-s-bazami-sql/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Основы работы с базами SQL" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-12-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-12-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-12-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-12-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-12-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-12-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Основы работы с базами SQL" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/osnovy-raboty-s-bazami-sql/" data-wpel-link="internal">Основы работы с базами SQL</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/osnovy-raboty-s-bazami-sql/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-02-04T23:14:29+00:00">4 февраля, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">4 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/inkapsulyaciya-i-modifikatory-dostupa/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/inkapsulyaciya-i-modifikatory-dostupa/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Инкапсуляция и модификаторы доступа" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-14-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-14-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-14-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-14-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-14-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2023/02/oj-1080x720-14-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Инкапсуляция и модификаторы доступа" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/inkapsulyaciya-i-modifikatory-dostupa/" data-wpel-link="internal">Инкапсуляция и модификаторы доступа</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/inkapsulyaciya-i-modifikatory-dostupa/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2023-02-05T10:52:09+00:00">5 февраля, 2023</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">5 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/stroki-v-python-ot-a-do-ya\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 16:44:20 GMT -->