TGViewer
Channel Public Channel
Python tricks | Хитрости Питона

Python tricks | Хитрости Питона

@python_tricks

Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Subscribers
5.09K
Photos
2.2K
Videos
26
Links
2.5K

Showing posts older than #1817 · Back to latest

Older Posts 20 shown
Post #1816 820
Библиотека Feather

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

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

🔗 Python tricks
Post #1815 817
whylogs

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

🔗 Python tricks
Post #1814 968
newspaper3k

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

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

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

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

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

Конечно, чувство юмора не заканчивается на документации.
🔗 Python tricks
Post #1811 806
Обработчик ошибок в Flask

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

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

🔗 Python tricks
Post #1810 823
Класс Counter.deque()

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

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

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

🔗 Python tricks
Post #1808 831
optional_return

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

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

🔗 Python tricks
Post #1807 810
Многострочные комментарии

Некоторые языки программирования, к примеру С++, предоставляют возможность создания многострочных комментариев. Для создания многострочных комментариях вы спокойно можете использовать тройные кавычки.
🔗 Python tricks
Post #1806 796
Метод setdefault()

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

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

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

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

Теперь вы можете иметь разные независимые версии Python на одной машине
🔗 Python tricks
Post #1804 813
Модуль itertools()

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

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

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

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

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

🔗 Python tricks
Post #1802 846
Метод id()

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

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

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

🔗 Python tricks
Post #1801 829
howdoi

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

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

$ pip install howdoi

Задайте любой вопрос, и он постарается найти ответ на него
🔗 Python tricks
Post #1800 836
Класс defaultdict()

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

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

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

Впрочем, не всё так плохо. Модуль future даёт возможность импортировать функциональность будущих версий Python. Это прямо как путешествие во времени, или магия
🔗 Python tricks
Post #1798 862
Что такое замыкание?

Замыкание (closure) — это функция, которая запоминает значения переменных из области видимости, в которой она была создана, и может получить к ним доступ, даже если она будет вызвана за пределами этой области видимости.

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

Обычно замыкания используются, если нужно:
— Создать функцию с сохранением некоторого состояния между вызовами.
— Избежать использования глобальных переменных и повысить инкапсуляцию.
— Частично применить функцию без вызова (создание другой функции).

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

🔗 Python tricks
Post #1797 841
collections.Counter

Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов).
Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности.

Основное отличие Counter от обычного словаря в том, что он не выбрасывает исключение, если ключ не существует, а просто создает новый ключ со значением 0. Это упрощает подсчет элементов.
Counter может принимать на вход любую итерируемую последовательность (список, кортеж и т.д.).

Основные способы использования Counter:
— Подсчет слов или букв в тексте.
— Подсчет появления элементов в списке или итераторе.
— Нахождение наиболее часто встречающихся элементов.
— Использование при решении задач на вероятность и статистику.
🔗 Python tricks
Post #1796 784
Eli5

Библиотека eli5 используется для анализа и интерпретации результатов моделей машинного обучения. Она работает с такими библиотеками, как: Scikit-learn, XGBoost, CatBoost, Keras, lightning и LightGBM.

В этом примере мы загружаем датасет Бостон из библиотеки sklearn, разбиваем его на обучающую и тестовую выборки и строим модель линейной регрессии.
Затем мы используем функцию show_weights из библиотеки eli5 для отображения весов линейной регрессии.

eli5 может помочь понять, какие признаки важны для модели и как они влияют на предсказания. Это может быть полезно для улучшения качества моделей и для объяснения их работы другим людям.
🔗 Python tricks
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →