Set.pop
Метод pop() случайным образом удаляет элемент из множества и возвращает удаленный элемент. Если в множестве отсутствуют элементы, выдается TypeError.
🔗 Python tricks
Метод pop() случайным образом удаляет элемент из множества и возвращает удаленный элемент. Если в множестве отсутствуют элементы, выдается TypeError.
🔗 Python tricks
Объединение строк, кортежей, списков, словарей без изменения исходных (ч.1)
Рассмотрим способы объединения строк, кортежей, списков, словарей без изменения исходных коллекций — когда из нескольких коллекций создаётся новая коллекция того же тип без изменения изначальных.
Объединение строк (string) и кортежей (tuple) возможна с использованием оператора сложения «+»
🔗 Python tricks
Рассмотрим способы объединения строк, кортежей, списков, словарей без изменения исходных коллекций — когда из нескольких коллекций создаётся новая коллекция того же тип без изменения изначальных.
Объединение строк (string) и кортежей (tuple) возможна с использованием оператора сложения «+»
🔗 Python tricks
Объединение строк, кортежей, списков, словарей без изменения исходных (ч.2)
Для объединения списков (list) возможны три варианта без изменения исходного списка:
Добавляем все элементы второго списка к элементам первого, (аналог метод .extend() но без изменения исходного списка)
🔗 Python tricks
Для объединения списков (list) возможны три варианта без изменения исходного списка:
Добавляем все элементы второго списка к элементам первого, (аналог метод .extend() но без изменения исходного списка)
🔗 Python tricks
Синтаксис среза
Следует помнить, что взяв элемент по индексу или срезом (slice) мы не как не меняем исходную коллекцию, мы просто скопировали ее часть для дальнейшего использования (например добавления в другую коллекцию, вывода на печать, каких-то вычислений). Поскольку сама коллекция не меняется — это применимо как к изменяемым (список) так и к неизменяемым (строка, кортеж) последовательностям.
🔗 Python tricks
Следует помнить, что взяв элемент по индексу или срезом (slice) мы не как не меняем исходную коллекцию, мы просто скопировали ее часть для дальнейшего использования (например добавления в другую коллекцию, вывода на печать, каких-то вычислений). Поскольку сама коллекция не меняется — это применимо как к изменяемым (список) так и к неизменяемым (строка, кортеж) последовательностям.
🔗 Python tricks
Что такое Протоколы
Протоколы — это соглашения, которые определяют интерфейс класса и поведение его объектов.
Протоколы задаются с помощью специальных методов, таких как
Они позволяют классам работать с различными функциями и операторами языка.
Реализуя протоколы можно интегрировать классы в языке и делать их поведение естественным и интуитивным.
В Python есть протоколы для чисел, итераторов, контекстных менеджеров, атрибутов и других областей.
Встроенные и сторонние библиотеки полагаются на стандартные протоколы.
🔗 Python tricks
Протоколы — это соглашения, которые определяют интерфейс класса и поведение его объектов.
Протоколы задаются с помощью специальных методов, таких как
str
, len
и другие.Они позволяют классам работать с различными функциями и операторами языка.
Реализуя протоколы можно интегрировать классы в языке и делать их поведение естественным и интуитивным.
В Python есть протоколы для чисел, итераторов, контекстных менеджеров, атрибутов и других областей.
Встроенные и сторонние библиотеки полагаются на стандартные протоколы.
🔗 Python tricks
Объединение строк, кортежей, списков, словарей без изменения исходных (ч.3)
Добавляем второй список как один элемент без изменения исходного списка (аналог метода.append() но без изменения исходного списка)
🔗 Python tricks
Добавляем второй список как один элемент без изменения исходного списка (аналог метода.append() но без изменения исходного списка)
🔗 Python tricks
Объединение строк, кортежей, списков, словарей без изменения исходных (ч.4)
Со словарем (dict) все не совсем просто.
Сложить два словаря чтобы получить третий оператором + Питон не позволяет «TypeError: unsupported operand type(s) for +: 'dict' and 'dict'».
Это можно сделать по-другому комбинируя методы .copy() и .update()
🔗 Python tricks
Со словарем (dict) все не совсем просто.
Сложить два словаря чтобы получить третий оператором + Питон не позволяет «TypeError: unsupported operand type(s) for +: 'dict' and 'dict'».
Это можно сделать по-другому комбинируя методы .copy() и .update()
🔗 Python tricks
Объединение множеств без изменения исходных
Для обоих типов множеств (set, frozenset) возможны различные варианты комбинации множеств (исходные множества при этом не меняются — возвращается новое множество).
🔗 Python tricks
Для обоих типов множеств (set, frozenset) возможны различные варианты комбинации множеств (исходные множества при этом не меняются — возвращается новое множество).
🔗 Python tricks
dict.items
Метод items() возвращает объект представления, который отображает список пар кортежей словаря (ключ, значение). Обрати внимание на пример. Если список обновляется в любое время, изменения отражаются на самом объекте просмотра.
🔗 Python tricks
Метод items() возвращает объект представления, который отображает список пар кортежей словаря (ключ, значение). Обрати внимание на пример. Если список обновляется в любое время, изменения отражаются на самом объекте просмотра.
🔗 Python tricks
Библиотека CVXPY
Библиотека CVXPY — это библиотека для оптимизации задач выпуклого программирования (Convex Programming) в Python. Она позволяет решать широкий спектр задач оптимизации, таких как линейное программирование, квадратичное программирование, полуопределенное программирование и другие, с использованием декларативного синтаксиса.
Чтобы начать использовать библиотеку CVXPY, вам потребуется установить её и импортировать в свой Python-скрипт или среду.
В примере на картинке мы создали две переменные
🔗 Python tricks
Библиотека CVXPY — это библиотека для оптимизации задач выпуклого программирования (Convex Programming) в Python. Она позволяет решать широкий спектр задач оптимизации, таких как линейное программирование, квадратичное программирование, полуопределенное программирование и другие, с использованием декларативного синтаксиса.
Чтобы начать использовать библиотеку CVXPY, вам потребуется установить её и импортировать в свой Python-скрипт или среду.
В примере на картинке мы создали две переменные
x
и y
, определили целевую функцию и ограничения, создали задачу оптимизации, и затем решили её с использованием метода solve()
. Результаты оптимизации доступны через атрибуты value
переменных.🔗 Python tricks
Генераторы коллекций
В Python генераторы коллекций (или генераторы) представляют собой удобный способ создания итерируемых последовательностей данных без необходимости сохранять все элементы в памяти. Они могут использоваться для генерации значений на лету, что делает их полезными для работы с большими или бесконечными последовательностями данных.
Генераторы коллекций можно создать с использованием специального синтаксиса, который похож на генераторы списков, но вместо создания списка они создают генераторный объект. В примере на картинке мы создали генератор выражений. Генераторы выражений особенно полезны, когда вы работаете с большими объемами данных, так как они не сохраняют все элементы в памяти, а генерируют их по мере необходимости.
🔗 Python tricks
В Python генераторы коллекций (или генераторы) представляют собой удобный способ создания итерируемых последовательностей данных без необходимости сохранять все элементы в памяти. Они могут использоваться для генерации значений на лету, что делает их полезными для работы с большими или бесконечными последовательностями данных.
Генераторы коллекций можно создать с использованием специального синтаксиса, который похож на генераторы списков, но вместо создания списка они создают генераторный объект. В примере на картинке мы создали генератор выражений. Генераторы выражений особенно полезны, когда вы работаете с большими объемами данных, так как они не сохраняют все элементы в памяти, а генерируют их по мере необходимости.
🔗 Python tricks
Объединение списка, словаря и изменяемого множества с изменением исходной коллекции (ч.1)
Для списка. Добавляем все элементы второго списка к элементам первого с измением первого списка методом .extend()
🔗 Python tricks
Для списка. Добавляем все элементы второго списка к элементам первого с измением первого списка методом .extend()
🔗 Python tricks
Объединение списка, словаря и изменяемого множества с изменением исходной коллекции (ч.2)
Для изменения словаря с добавления элементов другого словаря используется метод .update().
Обратите внимание: для совпадающих ключей словаря при этом обновляются значения.
🔗 Python tricks
Для изменения словаря с добавления элементов другого словаря используется метод .update().
Обратите внимание: для совпадающих ключей словаря при этом обновляются значения.
🔗 Python tricks
Возможная ошибка при обработке элементов
Не меняйте количество элементов коллекции в теле цикла во время итерации по этой же коллекции! — Это порождает не всегда очевидные на первый взгляд ошибки. Чтобы этого избежать подобных побочных эффектов, можно, например, итерировать копию коллекции.
🔗 Python tricks
Не меняйте количество элементов коллекции в теле цикла во время итерации по этой же коллекции! — Это порождает не всегда очевидные на первый взгляд ошибки. Чтобы этого избежать подобных побочных эффектов, можно, например, итерировать копию коллекции.
🔗 Python tricks
Фреймворк PySimpleGUI
PySimpleGUI — это популярный фреймворк для создания простых графических интерфейсов пользователя.
Он позволяет быстро создавать интерфейсы при помощи Python, без необходимости изучать сложные GUI библиотеки, такие как
— Простые GUI для скриптов автоматизации.
— Инструменты для обработки и визуализации данных.
— Маленькие вспомогательные приложения для повседневных задач.
Основные преимущества
— Простой и интуитивно понятный синтаксис.
— Кроссплатформенность: работает на Windows, MacOS, Linux.
— Встроенная поддержка многих виджетов и тем оформления.
— Автоматическое размещение элементов GUI.
🔗 Python tricks
PySimpleGUI — это популярный фреймворк для создания простых графических интерфейсов пользователя.
Он позволяет быстро создавать интерфейсы при помощи Python, без необходимости изучать сложные GUI библиотеки, такие как
Tkinter
, Qt
или wxPython
.PySimpleGUI
широко используется для создания небольших утилит и инструментов с GUI, например:— Простые GUI для скриптов автоматизации.
— Инструменты для обработки и визуализации данных.
— Маленькие вспомогательные приложения для повседневных задач.
Основные преимущества
PySimpleGUI
:— Простой и интуитивно понятный синтаксис.
— Кроссплатформенность: работает на Windows, MacOS, Linux.
— Встроенная поддержка многих виджетов и тем оформления.
— Автоматическое размещение элементов GUI.
🔗 Python tricks
Объединение списка, словаря и изменяемого множества с изменением исходной коллекции (ч.3)
Для изменяемого множества (set) кроме операций, описанных в предыдущем разделе, также возможны их аналоги, но уже с изменением исходного множества — эти методы заканчиваются на _update. Результат зависит от того, какое множество каким обновляем.
🔗 Python tricks
Для изменяемого множества (set) кроме операций, описанных в предыдущем разделе, также возможны их аналоги, но уже с изменением исходного множества — эти методы заканчиваются на _update. Результат зависит от того, какое множество каким обновляем.
🔗 Python tricks
Особенности работы с изменяемой и не изменяемой коллекцией (ч.1)
Строка неизменяемая коллекция — если мы ее меняем — мы создаем новый объект!
🔗 Python tricks
Строка неизменяемая коллекция — если мы ее меняем — мы создаем новый объект!
🔗 Python tricks
Библиотека setuptools
Библиотека
🔗 Python tricks
Библиотека
setuptools
является инструментом для упрощения процесса создания, установки и распространения пакетов Python. Она используется в основном для упрощения установки и управления зависимостями Python-пакетов. setuptools
предоставляет функциональность для создания файлов setup.py
, которые содержат информацию о вашем пакете, его зависимостях и других метаданных. Этот файл используется инструментами для установки пакетов, такими как pip
.🔗 Python tricks
Метод issuperset()
Метод
🔗 Python tricks
Метод
issuperset()
возвращает True, если все элементы указанного набора существуют в исходном наборе, в противном случае он возвращает False.🔗 Python tricks
Моржовый оператор (Walrus Operator)
Моржовый оператор (Walrus operator) — это оператор :=, введенный в версии 3.8. Он позволяет одновременно присвоить значение переменной и вернуть его.
Синтаксис выглядит так: имя_переменной := выражение. Справа вычисляется выражение и присваивается переменной слева
Переменная доступна в остальной части выражения после оператора.
Это удобно при работе с выражениями со сложными вложенными операциями. Позволяет избежать повторного вычисления.
🔗 Python tricks
Моржовый оператор (Walrus operator) — это оператор :=, введенный в версии 3.8. Он позволяет одновременно присвоить значение переменной и вернуть его.
Синтаксис выглядит так: имя_переменной := выражение. Справа вычисляется выражение и присваивается переменной слева
Переменная доступна в остальной части выражения после оператора.
Это удобно при работе с выражениями со сложными вложенными операциями. Позволяет избежать повторного вычисления.
🔗 Python tricks