Модуль dataclass. Data-классы. Добавление дополнительного функционала.
Хотя data-классы предназначены прежде всего для хранения различных данных, но также в них можно определять поведение с помощью дополнительных функций:
🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы
Хотя data-классы предназначены прежде всего для хранения различных данных, но также в них можно определять поведение с помощью дополнительных функций:
🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы
Работа со строками.
Строка представляет последовательность символов в кодировке Unicode, заключенных в кавычки. Причем для определения строк Python позволяет использовать как одинарные, так и двойные кавычики, первый пример:
Если строка длинная, ее можно разбить на части и разместить их на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части - в кавычки, второй пример:
Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки, третий пример:
При использовани тройных одинарных кавычек не стоит путать их с комментариями: если текст в тройных одинарных кавычках присваивается переменной, то это строка, а не комментарий.
🐍 Укус питона // 💬 Чат // #теория #строки
Строка представляет последовательность символов в кодировке Unicode, заключенных в кавычки. Причем для определения строк Python позволяет использовать как одинарные, так и двойные кавычики, первый пример:
Если строка длинная, ее можно разбить на части и разместить их на разных строках кода. В этом случае вся строка заключается в круглые скобки, а ее отдельные части - в кавычки, второй пример:
Если же мы хотим определить многострочный текст, то такой текст заключается в тройные двойные или одинарные кавычки, третий пример:
При использовани тройных одинарных кавычек не стоит путать их с комментариями: если текст в тройных одинарных кавычках присваивается переменной, то это строка, а не комментарий.
🐍 Укус питона // 💬 Чат // #теория #строки
Что выведет этот код?
Anonymous Quiz
60%
TypeError
30%
(100, 800, 200, 300, 400, 500)
9%
(800, 100, 200, 300, 400, 500)
Управляющие последовательности в строке.
Строка может содержать ряд специальных символов - управляющих последовательностей или escape-последовательности. Некоторые из них:
• : позволяет добавить внутрь строки слеш
• ': позволяет добавить внутрь строки одинарную кавычку
• ": позволяет добавить внутрь строки двойную кавычку
• \n: осуществляет переход на новую строку
• \t: добавляет табуляцию (4 отступа)
Используем некоторые последовательностей, смотрим пример:
Консольный вывод программы в примере:
🐍 Укус питона // 💬 Чат // #теория #строки
Строка может содержать ряд специальных символов - управляющих последовательностей или escape-последовательности. Некоторые из них:
• : позволяет добавить внутрь строки слеш
• ': позволяет добавить внутрь строки одинарную кавычку
• ": позволяет добавить внутрь строки двойную кавычку
• \n: осуществляет переход на новую строку
• \t: добавляет табуляцию (4 отступа)
Используем некоторые последовательностей, смотрим пример:
Консольный вывод программы в примере:
🐍 Укус питона // 💬 Чат // #теория #строки
Управляющие последовательности в строке. Продолжение.
Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:
Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы "\n", которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод, конец примера:
Чтобы избежать подобной ситуации, перед строкой ставится символ r, второй пример:
🐍 Укус питона // 💬 Чат // #теория #строки
Хотя подобные последовательности могут нам помочь в некоторых делах, например, поместить в строку кавычку, сделать табуляцию, перенос на другую строку. Но они также могут и мешать. Например:
Здесь переменная path содержит некоторый путь к файлу. Однако внутри строки встречаются символы "\n", которые будут интерпретированы как управляющая последовательность. Так, мы получим следующий консольный вывод, конец примера:
Чтобы избежать подобной ситуации, перед строкой ставится символ r, второй пример:
🐍 Укус питона // 💬 Чат // #теория #строки
Основные методы строк.
Рассмотрим основные методы строк, которые мы можем применить в приложениях:
• isalpha(): возвращает True, если строка состоит только из алфавитных символов
islower(): возвращает True, если строка состоит только из символов в нижнем регистре
• isupper(): возвращает True, если все символы строки в верхнем регистре
• isdigit(): возвращает True, если все символы строки - цифры
• isnumeric(): возвращает True, если строка представляет собой число
• startswith(str): возвращает True, если строка начинается с подстроки str
Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:
🐍 Укус питона // 💬 Чат // #теория #строки #методы
Рассмотрим основные методы строк, которые мы можем применить в приложениях:
• isalpha(): возвращает True, если строка состоит только из алфавитных символов
islower(): возвращает True, если строка состоит только из символов в нижнем регистре
• isupper(): возвращает True, если все символы строки в верхнем регистре
• isdigit(): возвращает True, если все символы строки - цифры
• isnumeric(): возвращает True, если строка представляет собой число
• startswith(str): возвращает True, если строка начинается с подстроки str
Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:
🐍 Укус питона // 💬 Чат // #теория #строки #методы
Что выведет этот код?
Anonymous Quiz
9%
[10, 20, 30, 40, 50, 60][10, 20, 30, 40, 50, 60]
91%
[10, 20, 30, 40, 50, 60][10, 20, 30, 40, 50, 60, 60]
Основные методы строк.
• endswith(str): возвращает True, если строка заканчивается на подстроку str
• lower(): переводит строку в нижний регистр
• upper(): переводит строку в вехний регистр
• title(): начальные символы всех слов в строке переводятся в верхний регистр
• capitalize(): переводит в верхний регистр первую букву только самого первого слова строки
• lstrip(): удаляет начальные пробелы из строки
• rstrip(): удаляет конечные пробелы из строки
• strip(): удаляет начальные и конечные пробелы из строки
ljust(width): если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю
• rjust(width): если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю
Проверка, начинается или оканчивается строка на определенную подстроку:
🐍 Укус питона // 💬 Чат // #теория #строки #методы
• 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): объединяет строки в одну строку, вставляя между ними определенный разделитель
Удаление пробелов в начале и в конце строки:
🐍 Укус питона // 💬 Чат // #теория #строки #методы
• center(width): если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру
• find(str[, start [, end]): возвращает индекс подстроки в строке. Если подстрока не найдена, возвращается число -1
• replace(old, new[, num]): заменяет в строке одну подстроку на другую
• split([delimeter[, num]]): разбивает строку на подстроки в зависимости от разделителя
• partition(delimeter): разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов - подстрока до разделителя, разделитель и подстрока после разделителя
• join(strs): объединяет строки в одну строку, вставляя между ними определенный разделитель
Удаление пробелов в начале и в конце строки:
🐍 Укус питона // 💬 Чат // #теория #строки #методы