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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Модуль 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
Функция help() в Python

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

Функция help() выводит документацию, созданную для определенного токена языка Python. Под токеном подразумеваются ключевые слова, название классов, модулей Python, функций и так далее. Данную функцию мы можем использовать как в консоли, так и в самом коде наших программ.
🔗 Python tricks
Модуль shutil

Модуль shutil в Python предоставляет множество функций для выполнения высокоуровневых операций с файлами и коллекциями файлов. Этот модуль присутствует в процессе установки языка программирования Python.
🔗 Python tricks
Метод join

Метод join() позволяет объединить элементы последовательности (списка, кортежа и т.д.) в строку.

Основные моменты:

— Метод принадлежит строке, вызывается на разделителе.
— В качестве разделителя можно использовать любую строку.
— В результате получится строка, где между элементами последовательности вставлен разделитель.
🔗 Python tricks
Создаем графики в терминале

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

Например, вы можете использовать Bashplotlib для создания гистограммы из массива данных. В этом примере функция plot_hist используется для отображения данных на одномерной гистограмме.
🔗 Python tricks
Модуль unittest

В Python встроен модуль unittest, который поддерживает автоматизацию тестов, использование общего кода для настройки и завершения тестов, объединение тестов в группы, а также позволяет отделять тесты от фреймворка для вывода информации.
🔗 Python tricks