Python Learning
33.4K subscribers
1.95K photos
8 videos
7 files
954 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
PySnooper

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

Для использования необходимо декорировать функцию, которую нужно отладить с помощью @pysnooper.snoop(). Вид лога можно настроить с помощью параметров: variables — какие переменные отображать, depth — максимальная вложенность структур данных, prefix — префикс для каждой строки лога.

Результат использования pysnooper предоставлен на изображении.
👍24🤔2🎉1
Декоратор @frozen

Декоратор @frozen — это не встроенный декоратор, а часто используемый соглашение в библиотеках и коде на Python. Он используется для обозначения, что класс или объект должен быть неизменяемым (immutable). Неизменяемые объекты не могут быть изменены после создания. Это означает, что их атрибуты и состояние остаются постоянными, что может быть полезно во многих сценариях.

Преимущества неизменяемых объектов включают в себя упрощение работы с объектами в многозадачных приложениях, избегание побочных эффектов и более безопасную работу с объектами в разных частях кода.

#для_продвинутых
👍16
Функция zlib.compress()

Функция zlib.compress() является частью стандартной библиотеки и предназначена для сжатия данных с использованием библиотеки сжатия данных Zlib.

Zlib — это библиотека, которая предоставляет алгоритмы сжатия данных. С её помощью можно уменьшить объем данных, что полезно, например, при передаче данных по сети или сохранении данных на диске, чтобы уменьшить потребление места.

Функция zlib.compress() принимает один аргумент — последовательность байтов (например, строку или байтовый объект) и возвращает сжатую версию этой последовательности.

#для_продвинутых
👍14💔1
NumPy: шпаргалка для начинающих

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

Смотреть шпаргалку
👍14🔥1
Py-spy

Py-spy — это инструмент для профилирования производительности Python-приложений. Он предоставляет информацию о том, как Python-приложение использует центральный процессор (CPU) и может помочь вам выявить узкие места в вашем коде, которые могут приводить к высокому использованию CPU.

Py-spy можно использовать из командной строки, чтобы наблюдать за работой запущенных Python-процессов. Он предоставляет информацию о потреблении CPU, вызовах функций, стеке вызовов и других характеристиках производительности. Вы можете использовать py-spy для оптимизации вашего Python-кода и выявления проблем с производительностью.

#для_продвинутых
👍13🎉2
Annoy

Annoy (Approximate Nearest Neighbors Oh Yeah) — это библиотека, которая используется для поиска точек в пространстве, близких к заданной точке запроса. Она также создает большие файловые структуры данных только для чтения, которые отображаются в память, чтобы многие процессы могли использовать одни и те же данные.

В этом примере мы создаем индекс Annoy с длиной вектора элемента f и используем расстояние angular. Затем мы добавляем 1000 элементов со случайными значениями в индекс и строим его с использованием 10 деревьев. После этого мы сохраняем индекс в файл test.ann. Затем мы загружаем индекс из файла и выполняем поиск 1000 ближайших соседей для элемента с индексом 0.

Результат работы кода - список из 1000 индексов элементов, которые являются ближайшими соседями для элемента с индексом 0.
👍12
Emot

Emot (Emotional Analysis for Text) — это библиотека для анализа эмодзи на Python. Она может быть полезна для обработки данных текста, чтобы удалить эмодзи и других задач, связанных с анализом эмотиконами.

Чтобы использовать библиотеку Emot, вам сначала нужно установить её с помощью pip:

pip install emot

#для_начинающих
❤‍🔥10👍5
Динамическая загрузка модуля

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

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

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

#для_продвинутых
👍19
Theano

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

#для_продвинутых
👍13🎉1
LightGBM

LightGBM (Light Gradient Boosting Machine) — это библиотека для машинного обучения, которая специализируется на градиентном бустинге и предоставляет выдающуюся производительность и эффективность. Она была разработана Microsoft и предназначена для решения задач классификации, регрессии и ранжирования. LightGBM быстро стала популярной в машинном обучении благодаря скорости, эффективности, поддержки множества задач, а главное градиентному бустингу.

Использование LightGBM в Python, как описано в предыдущем ответе, позволяет легко интегрировать эту библиотеку в ваши проекты машинного обучения и проводить высококачественный анализ данных и прогнозирование.

#для_продвинутых
👍12🤔1
Geoplotlib

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

Перед началом работы установите и импортируйте библиотеку. Чтобы визуализировать геоданные, вам понадобятся данные о географических координатах (широте и долготе). Вы можете использовать различные источники данных, такие как CSV-файлы, базы данных или API.

#для_начинающих
👍15
img2pdf

img2pdf — это библиотека Python, которая позволяет создавать файлы PDF из изображений. Для использования img2pdf вам нужно установить библиотеку (если она не установлена) и затем использовать ее для создания PDF-файлов из изображений.

Замените image1.jpg, image2.png, и image3.jpeg из примера на имена файлов с вашими изображениями, которые вы хотите объединить в PDF. Затем запустите этот скрипт, и он создаст файл output.pdf, содержащий ваши изображения в виде страниц PDF.

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

#для_начинающих
👍17❤‍🔥1🔥1
😂 Вечерний мем
Please open Telegram to view this post
VIEW IN TELEGRAM
😁69👍6
Метод dict.values()

Метод dict.values() в Python используется для получения всех значений (values) в словаре (dictionary). Этот метод возвращает представление (view) значений в словаре в виде объекта типа dict_values.

Этот метод полезен, когда вы хотите получить доступ к значениям словаря, но не обязательно к ключам. Вы можете использовать dict.values() в циклах или для выполнения операций на значениях словаря, например, суммирования всех значений или поиска определенного значения.

#для_начинающих
👍11🎉2
Метод update()

Метод update() в Python используется для обновления содержимого словаря (dict) с данными из другого словаря или итерабельного объекта. Он позволяет добавлять новые ключи и значения в словарь или обновлять значения существующих ключей.

Синтаксис метода update() следующий:

словарь.update(другой_словарь)

где:

словарь — это словарь, в котором вы хотите обновить данные.
другой_словарь — это словарь или другой итерабельный объект (например, другой словарь, список кортежей или список списков), данные из которого вы хотите добавить или обновить в словарь.

#для_начинающих
👍15🎉2
Методы .removeprefix() и .removesuffix()

Методы .removeprefix() и .removesuffix() были введены в Python 3.9. Они предназначены для удаления указанного префикса или суффикса из строки. Эти методы предоставляют удобный способ обрезания строк, особенно если вы знаете, что определенная строка всегда начинается с определенного префикса или заканчивается определенным суффиксом. Это позволяет избежать необходимости использования сложных срезов строк и делает код более читаемым.

#для_начинающих
👍15🎉2❤‍🔥1
👍6
Что выведет этот код?
Anonymous Quiz
41%
True
38%
False
15%
Ошибку
7%
Узнать ответ
👍16🤔13
Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще

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

Смотреть статью
👍13❤‍🔥2
collections.MutableMapping

collections.MutableMapping был представлен в Python 3.3 и представляет собой абстрактный базовый класс, который определяет интерфейс для изменяемых (mutable) отображений (маппингов) в Python. Этот класс служит основой для создания собственных классов, реализующих словари и другие типы отображений.

MutableMapping наследует от collections.abc.Mapping, который, в свою очередь, наследует от collections.abc.Collection. Эти абстрактные базовые классы предоставляют интерфейсы и методы для работы с коллекциями, маппингами и другими структурами данных.

Чтобы создать собственный класс, реализующий MutableMapping, вы должны определить несколько методов, включая getitem, setitem, delitem, iter, len, и, по желанию, contains (для поддержки оператора in). Эти методы обеспечивают доступ, изменение и удаление элементов из вашего отображения, а также обход и определение его размера.

#для_продвинутых
👍8🎉3