Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
from future import

Одним из последствий популярности Python является то, что постоянно разрабатываются и выходят новые версии. Новые версии — новые возможности, но только не для вас, если вы пользуетесь устаревшей.

Впрочем, не всё так плохо. Модуль future даёт возможность импортировать функциональность будущих версий Python. Это прямо как путешествие во времени, или магия
🔗 Python tricks
Класс defaultdict()

При использовании класса defaultdict() из модуля collections мы создаем словарь, в котором каждому ключу автоматически присваивается значение по умолчанию.

В этом примере мы используем класс defaultdict() для создания словаря, который содержит количество каждого вида фруктов из списка.
🔗 Python tricks
howdoi

Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?

Тогда вам не обойтись без этого инструмента командной строки:

$ pip install howdoi

Задайте любой вопрос, и он постарается найти ответ на него
🔗 Python tricks
Метод id()

Метод id() возвращает уникальный идентификатор объекта.

Каждый объект в Python имеет свой идентификатор, который назначается при создании объекта. Этот идентификатор гарантированно уникален в пределах жизни объекта.

id() позволяет получить числовое представление идентификатора объекта. Это может быть полезно при отладке и тестировании программы.

🔗 Python tricks
Библиотека xarray

xarray предназначена для работы с многомерными данными и массивами.
Она позволяет удобно хранить и обрабатывать данные с метаданными, такими как координаты, время и другие измерения.

Xarray часто используется в научных вычислениях и анализе данных, особенно при работе с геопространственными данными, временными рядами, метеоданными и другой многомерной информацией.
Основные преимущества xarray — это возможность помечать оси данных и выполнять операции по этим осям, легкость совместного использования данных и метаданных.

В этом примере создана DataArray со случайными данными размерностей 2x3. Для осей заданы метки "city" и "year". Это позволяет легко обращаться к данным по городам и годам. Xarray сохраняет метаданные вместе с данными.

🔗 Python tricks
Модуль itertools()

При использовании модуля itertools мы можем задействовать много полезных функций для работы со списками. Например, функция combinations() позволяет получить все комбинации элементов списка заданной длины.

В этом примере мы используем функцию combinations(). Из модуля itertools для получения всех комбинаций из двух элементов списка numbers.
🔗 Python tricks
Виртуальные среды

Часто Python-программисты работают над несколькими проектами одновременно. К сожалению, порой два проекта зависят от разных версий одной зависимости. Какую же установить?

К счастью, в Python есть поддержка виртуальных сред, которые позволяют взять лучшее от двух миров. В командной строке нужно ввести

Теперь вы можете иметь разные независимые версии Python на одной машине
🔗 Python tricks
Метод setdefault()

При использовании метода setdefault() мы получаем значения ключа словаря. Если ключ не существует, метод setdefault() создает новый ключ со значением по умолчанию.

В этом примере мы используем метод setdefault() для получения значения ключа 'three' из словаря d. Поскольку ключ 'three' не существует, метод setdefault() создает новый ключ со значением по умолчанию 3 и возвращает это значение.
🔗 Python tricks
Многострочные комментарии

Некоторые языки программирования, к примеру С++, предоставляют возможность создания многострочных комментариев. Для создания многострочных комментариях вы спокойно можете использовать тройные кавычки.
🔗 Python tricks
optional_return

Функция optional_return в модуле typing используется для определения функций, которые могут возвращать значение или None.
Это позволяет лучше документировать поведение функции и дает подсказки при использовании ее результата, не опасаясь ошибки, если будет возвращен None.

В данном примере функция find_user может вернуть имя пользователя, если оно найдено в списке, или None, если такого имени нет. Благодаря аннотации Optional[str] мы явно указываем, что возвращаемое значение может быть строкой или None.

🔗 Python tricks
classmethod

classmethod
— это декоратор в Python, который используется для определения методов класса, которые не принимают экземпляр класса (self) в качестве первого аргумента, а вместо этого принимают класс (cls) в качестве первого аргумента. Эти методы могут использоваться для операций, которые связаны с самим классом, а не с его экземплярами.

🔗 Python tricks
Класс Counter.deque()

При использовании класс deque из модуля collections мы работаем с очередью. Он позволяет добавлять и удалять элементы с обоих концов очереди.

В этом примере мы создаем объект deque, содержащий список фруктов. Затем мы добавляем элемент 'pear' в конец очереди с помощью метода append() и элемент 'grape' в начало очереди с помощью метода appendleft(). Конечный результат - очередь, содержащая фрукты в порядке 'grape', 'apple', 'banana', 'orange', 'pear'.
🔗 Python tricks
Обработчик ошибок в Flask

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

На картинке пример обработчика ошибки 404 (Not Found).

🔗 Python tricks
xkcd

Юмор — ключевая особенность Python. В конце концов, язык был назван в честь британского комедийного шоу «Летающий цирк Монти Пайтона». Во многих местах официальной документации можно найти отсылки к самым известным эпизодам шоу.

Конечно, чувство юмора не заканчивается на документации.
🔗 Python tricks
newspaper3k

Если вы ещё с ним не встречались, то приготовьтесь к тому, что модуль newspaper снесёт вам крышу.

Он даёт возможность извлекать статьи и связанные мета-данные из множества разных источников. Можно извлечь изображения, текст и имена авторов.

В нём даже есть встроенная NLP-функциональность.

Поэтому, если вы собирались использовать BeautifulSoup или другую библиотеку для вебскрапинга в своём следующем проекте, лучше сэкономьте своё время и силы и установите newspaper
🔗 Python tricks
whylogs

whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбора статистики о данных, визуализации этой статистики и создания профилей данных для мониторинга и анализа.

🔗 Python tricks
Библиотека Feather

Feather — это формат данных и библиотека для работы с ним, разработанные для Python. Этот формат обеспечивает быстрое и эффективное чтение и запись данных в структурированных табличных форматах, а также обмен данными между Python и другими языками программирования, такими как R.

Для работы с Feather, вам потребуется установить библиотеку pyarrow, так как Feather использует Apache Arrow для внутреннего представления данных. Установка pyarrow можно выполнить с помощью инструмента управления пакетами, такого как pip. После установки библиотеки pyarrow, вы можете использовать ее для чтения и записи данных в формате Feather

🔗 Python tricks
Метод Counter.elements()

Метод Counter.elements() возвращает итератор по элементам в словаре Counter.
Этот метод позволяет эффективно перебрать элементы словаря Counter без создания копии.

Как видно из примера, метод elements() возвращает итератор по элементам словаря Counter в порядке их добавления.
Это позволяет эффективно обрабатывать элементы, не создавая промежуточные структуры данных.

🔗 Python tricks
Контекстные менеджеры

Контекстные менеджеры — это объекты, используемые для управления контекстом с помощью оператора with.

Они позволяют автоматически выполнять "вход" в контекст и "выход" из него, не заботясь о ручной финализации объекта.
Контекстные менеджеры реализуют методы enter и exit, вызываемые при входе и выходе из контекста.

За счет автоматизации управления ресурсами контекстные менеджеры позволяют писать более простой и читабельный код.

🔗 Python tricks
Функция dir() в Python

Функция dir() в Python перечисляет атрибуты и методы объекта. Она принимает объект в качестве аргумента и возвращает список строк, которые являются именами его атрибутов и методов. Использование функции dir() может быть полезно для изучения объектов, чтобы лучше понять, что они делают.

Например, при помощи dir() можно вывести атрибуты встроенного типа данных, такого как список или словарь. Или можно применить эту функцию для пользовательского класса, чтобы посмотреть, что в нем находится. Кроме того, с помощью функции dir() можно изучить плохо документированный модуль или библиотеку.
🔗 Python tricks