Как можно изменить строку?
Никак, поскольку строки неизменяемы. В большинстве ситуаций, нужно просто сделать новую строку из различных частей. Однако, если так нужно, можно использовать
Разъяснивший 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
Метод .index()
.index() — возвращает минимальный индекс переданного элемента для индексированных коллекций (строка, список, кортеж)
Разъяснивший Python
.index() — возвращает минимальный индекс переданного элемента для индексированных коллекций (строка, список, кортеж)
Разъяснивший Python
Конвертация одного типа коллекции в другой
В зависимости от стоящих задач, один тип коллекции можно конвертировать в другой тип коллекции. Для этого, как правило достаточно передать одну коллекцию в функцию создания другой.
Разъяснивший Python
В зависимости от стоящих задач, один тип коллекции можно конвертировать в другой тип коллекции. Для этого, как правило достаточно передать одну коллекцию в функцию создания другой.
Разъяснивший Python
Особые методы сравнения множеств (set, frozenset)
set_a.isdisjoint(set_b) — истина, если set_a и set_b не имеют общих элементов.
set_b.issubset(set_a) — если все элементы множества set_b принадлежат множеству set_a, то множество set_b целиком входит в множество set_a и является его подмножеством (set_b — подмножество)
set_a.issuperset(set_b) — соответственно, если условие выше справедливо, то set_a — надмножество
Разъяснивший Python
set_a.isdisjoint(set_b) — истина, если set_a и set_b не имеют общих элементов.
set_b.issubset(set_a) — если все элементы множества set_b принадлежат множеству set_a, то множество set_b целиком входит в множество set_a и является его подмножеством (set_b — подмножество)
set_a.issuperset(set_b) — соответственно, если условие выше справедливо, то set_a — надмножество
Разъяснивший Python
Переопределение стандартного поведения функций через декоратор
Иногда хочется обернуть функцию, чтобы автоматически логировать её вызов или измерять время исполнения. Это удобно делать через декоратор.
Итог:
Декораторы позволяют добавлять поведение к функциям, не изменяя их напрямую. Это мощный инструмент для логирования, кэширования, авторизации и прочих нужд.
Разъяснивший Python
Иногда хочется обернуть функцию, чтобы автоматически логировать её вызов или измерять время исполнения. Это удобно делать через декоратор.
Итог:
Декораторы позволяют добавлять поведение к функциям, не изменяя их напрямую. Это мощный инструмент для логирования, кэширования, авторизации и прочих нужд.
Разъяснивший Python
Возможная ошибка при обработке элементов
Не меняйте количество элементов коллекции в теле цикла во время итерации по этой же коллекции! — Это порождает не всегда очевидные на первый взгляд ошибки. Чтобы этого избежать подобных побочных эффектов, можно, например, итерировать копию коллекции.
Разъяснивший Python
Не меняйте количество элементов коллекции в теле цикла во время итерации по этой же коллекции! — Это порождает не всегда очевидные на первый взгляд ошибки. Чтобы этого избежать подобных побочных эффектов, можно, например, итерировать копию коллекции.
Разъяснивший Python
👍1👎1
Изменение элемента списка по индексу (ч.1)
Поскольку кортежи и строки у нас неизменяемые коллекции, то по индексу мы можем только брать элементы, но не менять их.
Разъяснивший Python
Поскольку кортежи и строки у нас неизменяемые коллекции, то по индексу мы можем только брать элементы, но не менять их.
Разъяснивший Python
Изменение элемента списка по индексу (ч.2)
А вот для списка, если взятие элемента по индексу располагается в левой части выражения, а далее идёт оператор присваивания =, то мы задаём новое значение элементу с этим индексом.
Разъяснивший Python
А вот для списка, если взятие элемента по индексу располагается в левой части выражения, а далее идёт оператор присваивания =, то мы задаём новое значение элементу с этим индексом.
Разъяснивший Python