Проверка вхождения подстроки через оператор in
Во многих языках приходится использовать специальные функции для поиска подстроки. В Python это решается максимально просто с помощью оператора in.
Итог:
Оператор in — быстрый и читаемый способ проверить, содержится ли подстрока в строке.
Разъяснивший Python
Во многих языках приходится использовать специальные функции для поиска подстроки. В Python это решается максимально просто с помощью оператора in.
Итог:
Оператор in — быстрый и читаемый способ проверить, содержится ли подстрока в строке.
Разъяснивший Python
Словари (dict) и работа с ними
Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключения.
Разъяснивший Python
Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключения.
Разъяснивший Python
Что такое списки?
Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list.
Разъяснивший Python
Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (почти как массив, но типы могут отличаться).
Чтобы использовать списки, их нужно создать. Создать список можно несколькими способами. Например, можно обработать любой итерируемый объект (например, строку) встроенной функцией list.
Разъяснивший Python
Строки. Функции и методы строк
При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.
Разъяснивший Python
При вызове методов необходимо помнить, что строки в Python относятся к категории неизменяемых последовательностей, то есть все функции и методы могут лишь создавать новую строку.
Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной.
Разъяснивший Python
Строки в апострофах и в кавычках
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
Разъяснивший Python
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
Разъяснивший Python
Строки в тройных апострофах или кавычках
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
Разъяснивший Python
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
Разъяснивший Python
Какой приоритет у оператора "запятая"
Запятая не является оператором в Python. Поскольку запятая - не оператор, но разделитель между выражениями, если бы было введено:
Разъяснивший Python
Запятая не является оператором в Python. Поскольку запятая - не оператор, но разделитель между выражениями, если бы было введено:
("a" in "b"), "a"
А не"a" in ("b", "a")
То же самое верно и для операторов присваивания (=, += и другие). Они не являются операторами как таковыми, а лишь синтаксическими разделителями в операциях присваивания.Разъяснивший Python
Как можно изменить строку?
Никак, поскольку строки неизменяемы. В большинстве ситуаций, нужно просто сделать новую строку из различных частей. Однако, если так нужно, можно использовать
Разъяснивший Python
Никак, поскольку строки неизменяемы. В большинстве ситуаций, нужно просто сделать новую строку из различных частей. Однако, если так нужно, можно использовать
io.StringIO, либо модуль array.Разъяснивший Python
Как использовать строки для вызова функций/методов
Существует несколько приёмов.
Лучший - использование словаря, ставящего соответствие строке функцию. Его главное достоинство - строки не обязаны совпадать с названиями функций. Использование встроенной функции getattr. И использование locals или eval (не рекомендуется).
Разъяснивший Python
Существует несколько приёмов.
Лучший - использование словаря, ставящего соответствие строке функцию. Его главное достоинство - строки не обязаны совпадать с названиями функций. Использование встроенной функции getattr. И использование locals или eval (не рекомендуется).
Разъяснивший Python
Как удалить все символы новой строки в конце строки
Можно использовать
Разъяснивший Python
Можно использовать
S.rstrip("\r\n") для удаления символов новой строки, без удаления конечных пробелов.Разъяснивший Python
Почему a_tuple[i] += ['item'] не работает, а добавление работает
Это из-за того, что расширенный оператор присваивания - оператор присваивания, а также из-за разницы между изменяемыми и неизменяемыми объектами в Python.
Разъяснивший Python
Это из-за того, что расширенный оператор присваивания - оператор присваивания, а также из-за разницы между изменяемыми и неизменяемыми объектами в Python.
Разъяснивший Python
Примечание для словаря (dict) (ч.1)
Для того, чтобы объект мог быть ключом словаря, он должен быть хешируем. У кортежа, возможен случай, когда его элемент является не хешируемым объектом, и соответственно сам кортеж тогда тоже не является хешируемым и не может выступать ключом словаря.
Разъяснивший Python
Для того, чтобы объект мог быть ключом словаря, он должен быть хешируем. У кортежа, возможен случай, когда его элемент является не хешируемым объектом, и соответственно сам кортеж тогда тоже не является хешируемым и не может выступать ключом словаря.
Разъяснивший Python
Примечание для словаря (dict) (ч.2)
{} без значений создают словарь, а со значениями, в зависимости от синтаксиса могут создавать как множество, так и словарь.
Разъяснивший Python
{} без значений создают словарь, а со значениями, в зависимости от синтаксиса могут создавать как множество, так и словарь.
Разъяснивший Python
Проверка принадлежности элемента данной коллекции c помощью оператора in
x in s — вернет True, если элемент входит в коллекцию s и False — если не входит
Есть и вариант проверки не принадлежности: x not in s, где есть по сути, просто добавляется отрицание перед булевым значением предыдущего выражения.
Разъяснивший Python
x in s — вернет True, если элемент входит в коллекцию s и False — если не входит
Есть и вариант проверки не принадлежности: x not in s, где есть по сути, просто добавляется отрицание перед булевым значением предыдущего выражения.
Разъяснивший Python
Обход всех элементов коллекции в цикле for in
В данном случае, в цикле будут последовательно перебираться элементы коллекции, пока не будут перебраны все из них.
Разъяснивший Python
В данном случае, в цикле будут последовательно перебираться элементы коллекции, пока не будут перебраны все из них.
Разъяснивший Python
Обработка элементов (ч.1)
Порядок обработки элементов для не индексированных коллекций будет не тот, как при их создании.
У прохода в цикле по словарю есть свои особенности.
При таком обходе словаря, перебираются только ключи равносильно for elm in my_dict.keys().
Разъяснивший Python
Порядок обработки элементов для не индексированных коллекций будет не тот, как при их создании.
У прохода в цикле по словарю есть свои особенности.
При таком обходе словаря, перебираются только ключи равносильно for elm in my_dict.keys().
Разъяснивший Python
❤1
Обработка элементов (ч.2)
При желании можно пройти только по значениям. Но чаще всего нужны пары ключ(key) — значение (value).
Проход по .items() возвращает кортеж (ключ, значение), который присваивается кортежу переменных key, value.
Разъяснивший Python
При желании можно пройти только по значениям. Но чаще всего нужны пары ключ(key) — значение (value).
Проход по .items() возвращает кортеж (ключ, значение), который присваивается кортежу переменных key, value.
Разъяснивший Python
Несколько потребителей очереди сообщений RabbitMQ на Python: Competing consumers pattern
Показываю правила распределения сообщений по потребителям из очереди RabbitMQ и как это сделать на Python.
Перейти к просмотру [31:01]
Разъяснивший Python
Показываю правила распределения сообщений по потребителям из очереди RabbitMQ и как это сделать на Python.
Перейти к просмотру [31:01]
Разъяснивший Python
YouTube
Несколько потребителей очереди сообщений RabbitMQ на Python: Competing consumers pattern
Показываю правила распределения сообщений по потребителям из очереди RabbitMQ и как это сделать на Python.
Мой курс по основам структур данных и базовым алгоритмам: https://boosty.to/mahenzon?postsTagsIds=10386914
Сценарий этого ролика: https://boosty.…
Мой курс по основам структур данных и базовым алгоритмам: https://boosty.to/mahenzon?postsTagsIds=10386914
Сценарий этого ролика: https://boosty.…
Извлечение уникальных значений из списка словарей
Когда у тебя есть список словарей, и нужно получить все уникальные значения по определённому ключу — есть лаконичный способ!
Итог:
Используй set comprehension, чтобы быстро и элегантно получать уникальные значения из списков словарей.
Разъяснивший Python
Когда у тебя есть список словарей, и нужно получить все уникальные значения по определённому ключу — есть лаконичный способ!
Итог:
Используй set comprehension, чтобы быстро и элегантно получать уникальные значения из списков словарей.
Разъяснивший Python
Реализация операции вычитания на месте для пользовательского класса
Метод isub в Python используется для реализации операции вычитания на месте (оператора -=). Этот метод позволяет изменять объект "на месте", что может быть полезно для оптимизации производительности и управления памятью.
Рассмотрим пример, в котором у нас есть класс, представляющий пользовательский список чисел. Мы хотим поддерживать операцию вычитания на месте как с обычными числами Python (int), так и с другими экземплярами нашего класса.
Этот лайфхак позволяет вашему классу поддерживать более гибкие и удобные операции вычитания на месте, что улучшает производительность и удобство использования, а также помогает избежать лишних копий данных.
Разъяснивший Python
Метод isub в Python используется для реализации операции вычитания на месте (оператора -=). Этот метод позволяет изменять объект "на месте", что может быть полезно для оптимизации производительности и управления памятью.
Рассмотрим пример, в котором у нас есть класс, представляющий пользовательский список чисел. Мы хотим поддерживать операцию вычитания на месте как с обычными числами Python (int), так и с другими экземплярами нашего класса.
Этот лайфхак позволяет вашему классу поддерживать более гибкие и удобные операции вычитания на месте, что улучшает производительность и удобство использования, а также помогает избежать лишних копий данных.
Разъяснивший Python
Генераторные фунции
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.
Разъяснивший Python
Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.
Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.
Разъяснивший Python