🐍 Укус питона 🐍
2.89K subscribers
768 photos
4 videos
279 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Разделение на подстроки

Метод split() разбивает строку на список подстрок в зависимости от разделителя. В качестве разделителя может выступать любой символ или последовательность символов. Данный метод имеет следующие формы:
• split(): в качестве разделителя используется пробел
• split(delimeter): в качестве разделителя используется delimeter
• split(delimeter, num): параметр num указывает, сколько вхождений delimeter используется для разделения. Оставшаяся часть строки добавляется в список без разделения на подстроки
В следующей обучалке поговорим о методе partition().

🐍 Укус питона // 💬 Чат // #теория #строки #split
Метод partition()

Этот метод разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов - подстрока до разделителя, разделитель и подстрока после разделителя, смотрим код:

Если разделитель с строке не найден, то возвращается кортеж с одной строкой.

🐍 Укус питона // 💬 Чат // #теория #строки #partition
Соединение строк

При рассмотрении простейших операций со строками было показано, как объединять строки с помощью операции сложения. Другую возможность для соединения строк представляет метод join(): он объединяет список строк. Причем текущая строка, у которой вызывается данный метод, используется в качестве разделителя, первая часть 👀.

Вместо списка в метод join можно передать простую строку, тогда разделитель будет вставляться между символами этой строки, вторая часть кода.

🐍 Укус питона // 💬 Чат // #теория #строки #join
Работа со строками.

Строка представляет последовательность символов в кодировке Unicode, заключенных в кавычки. Причем для определения строк Python позволяет использовать как одинарные, так и двойные кавычики, первый пример:

Если строка длинная, ее можно разбить на части и разместить их на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части - в кавычки, второй пример:

Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки, третий пример:

При использовани тройных одинарных кавычек не стоит путать их с комментариями: если текст в тройных одинарных кавычках присваивается переменной, то это строка, а не комментарий.

🐍 Укус питона // 💬 Чат // #теория #строки
Управляющие последовательности в строке.

Строка может содержать ряд специальных символов - управляющих последовательностей или escape-последовательности. Некоторые из них:
• : позволяет добавить внутрь строки слеш
• ': позволяет добавить внутрь строки одинарную кавычку
• ": позволяет добавить внутрь строки двойную кавычку
• \n: осуществляет переход на новую строку
• \t: добавляет табуляцию (4 отступа)

Используем некоторые последовательностей, смотрим пример:

Консольный вывод программы в примере:

🐍 Укус питона // 💬 Чат // #теория #строки
Управляющие последовательности в строке. Продолжение.

Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:

Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы "\n", которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод, конец примера:

Чтобы избежать подобной ситуации, перед строкой ставится символ r, второй пример:

🐍 Укус питона // 💬 Чат // #теория #строки
Основные методы строк.

Рассмотрим основные методы строк, которые мы можем применить в приложениях:
• isalpha(): возвращает True, если строка состоит только из алфавитных символов
islower(): возвращает True, если строка состоит только из символов в нижнем регистре
• isupper(): возвращает True, если все символы строки в верхнем регистре
• isdigit(): возвращает True, если все символы строки - цифры
• isnumeric(): возвращает True, если строка представляет собой число
• startswith(str): возвращает True, если строка начинается с подстроки str

Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:

🐍 Укус питона // 💬 Чат // #теория #строки #методы
Основные методы строк.

• endswith(str): возвращает True, если строка заканчивается на подстроку str
• lower(): переводит строку в нижний регистр
• upper(): переводит строку в вехний регистр
• title(): начальные символы всех слов в строке переводятся в верхний регистр
• capitalize(): переводит в верхний регистр первую букву только самого первого слова строки
• lstrip(): удаляет начальные пробелы из строки
• rstrip(): удаляет конечные пробелы из строки
• strip(): удаляет начальные и конечные пробелы из строки
ljust(width): если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю
• rjust(width): если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю

Проверка, начинается или оканчивается строка на определенную подстроку:

🐍 Укус питона // 💬 Чат // #теория #строки #методы
Основные методы строк. Продолжение.

• center(width): если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру
• find(str[, start [, end]): возвращает индекс подстроки в строке. Если подстрока не найдена, возвращается число -1
• replace(old, new[, num]): заменяет в строке одну подстроку на другую
• split([delimeter[, num]]): разбивает строку на подстроки в зависимости от разделителя
• partition(delimeter): разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов - подстрока до разделителя, разделитель и подстрока после разделителя
• join(strs): объединяет строки в одну строку, вставляя между ними определенный разделитель

Удаление пробелов в начале и в конце строки:

🐍 Укус питона // 💬 Чат // #теория #строки #методы
Форматирование строки.

В прошлых темах было рассмотрено, как можно вставлять в строку некоторые значения, предваряя строку символом f, смотрим пример:

Но также в Python есть альтернативный способ, который предоставляет метод format(). Этот метод позволяет форматировать строку, вставляя в нее на место плейсхолдеров определенные значения.

Для вставки в строку используются специальные параметры, которые обрамляются фигурными скобками ({}).

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Именованные параметры

В форматируемой строке мы можем определять параметры, в методе format() передавать для этих параметров значения:

Причем в метод формат аргументы определяются с тем же именем, что и параметры в строке. Так, если параметр называется first_name, как в первом случае, то аргумент, которому присваивается значение, также называется first_name.

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Параметры по позиции

Мы также можем последовательно передавать в метод format набор аргументов, а в самой форматируемой строке вставлять эти аргумента, указывая в фигурных скобках их номер (нумерация начинается с нуля), первый пример:

При этом аргументы можно вставлять в строку множество раз, второй пример:

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Подстановки

Еще один способ передачи форматируемых значений в строку представляет использование подстановок или специальных плейсхолдеров, на место которых вставляются определенные значения. Для форматирования мы можем использовать следующие плейсхолдеры:
• s: для вставки строк
• d: для вставки целых чисел
• f: для вставки дробных чисел. Для этого типа также можно определить через точку количество знаков в дробной части.
• %: умножает значение на 100 и добавляет знак процента
• e: выводит число в экспоненциальной записи

Общий синтаксис плейсхолдера следующий:

В зависимости от плейсхолдера можно добавлять дополнительные параметры. Например, для форматирования чисел float можно использовать следующие параметры

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Подстановки. Продолжение.

При вызове метода format в него в качестве аргументов передаются значения, которые вставляются на место плейсхолдеров:

В качестве результата метод format() возвращает новую отформатированную строку.

Форматирование целых чисел, смотрим второй пример:

Если форматируемое число больше 999, то мы можем указать в определении плейсхолдера, что мы хотим использовать запятую в качестве разделителя разрядов, третий пример:

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Подстановки. Продолжение.

Плейсхолдеры можно использовать и в f-строках, смотрим пример:

Для дробных чисел, то есть таких, которые представляют тип float, перед кодом плейсхолдера после точки можно указать, сколько знаков в дробной части мы хотим вывести, второй пример:

Еще один параметр позволяет установить минимальную ширину форматируемого значения в символах, третий пример:

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование
Форматирование без метода format.

Существует также еще один способ форматирования с помощью следующего синтаксиса, первый пример:

То есть в начале идет строка, которая содержит те же плейсхолдеры, которые были рассмотрены выше (за исключением плейсхолдера %), после строки ставится знак процента %, а затем список значений, которые вставляются в строку. Фактически знак процента представляют операцию, в результате которой образуется новая строка, второй пример:

Рядом с плейсхолдером указывается знак процента и в отличие от функции format здесь не требуются фигурные скобки.

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

🐍 Укус питона // 💬 Чат // #теория #строки #форматирование