Разъяснивший Python – Telegram
Разъяснивший Python
7.63K subscribers
2.83K photos
40 videos
30 files
2.72K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Превращение функций в методы класса с помощью types.MethodType

types.MethodType — это способ динамического добавления функций в экземпляры класса как методы. Это позволяет создавать методы "на лету" и добавлять их в объекты, что может быть полезно в сложных сценариях, когда структура класса определяется динамически.

В этом примере функция external_function добавляется в экземпляр класса MyClass как метод. Это позволяет вызывать её как обычный метод класса, используя атрибуты экземпляра.


Разъяснивший Python | ChatGPT
Отладка производительности Python (ч.1)

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

Разъяснивший Python | ChatGPT
Отладка производительности Python (ч.2)

Что вы можете сделать, например, при обработке кодов в словаре, вы можете попробовать альтернативный метод диктовки элемента. Смущенный? Позвольте мне объяснить это. Вы можете просто выбрать опцию, чтобы добавить элемент напрямую, а затем проверить, существуют ли вставленные элементы или их нужно обновить. Таким образом, при этом вам не нужно проверять каждый элемент на соответствие ему, а затем обновлять его, что замедляет работу приложения.

Разъяснивший Python | ChatGPT
👎3👍1
Click — простой и мощный инструмент для создания CLI

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

Если вы хотите создать CLI для своего Python-проекта с минимальными усилиями, Click — отличный выбор

Разъяснивший Python | ChatGPT
math.comb

Функция math.comb используется для вычисления числа сочетаний из n элементов по k элементов. Число сочетаний определяет, сколькими способами можно выбрать k элементов из множества из n элементов без учета порядка. Например, если у тебя есть 5 разных книг и ты хочешь выбрать 2 из них для чтения, то math.comb(5, 2) покажет, сколько различных пар книг можно выбрать.

Разъяснивший Python | ChatGPT
Обзор простых декораторов в Python

Прежде чем мы углубимся в новую территорию, давайте рассмотрим, как работают простые декораторы из первого урока. Ниже представлен пример, введенный нами в оболочку IDLE Python. Попробуйте поэкспериментировать, запустите IDLE оболочку и введите код сами.

Разъяснивший Python | ChatGPT
💊2
Использование Counter для быстрого подсчета элементов в списке

Когда вам нужно подсчитать количество вхождений элементов в списке, класс Counter из модуля collections позволяет сделать это очень быстро и лаконично.

Использование Counter позволяет легко и быстро подсчитывать вхождения элементов, делая ваш код более эффективным и понятным.

Разъяснивший Python | ChatGPT
🤔2🤨2🤡1
Использование any() и all() для проверки условий в списках

Когда вам нужно проверить, выполняются ли все или хотя бы одно условие для элементов в списке, функции any() и all() помогают сделать это быстро и лаконично.

Использование any() и all() делает код более читаемым и позволяет легко проверять условия для элементов коллекций без написания сложных циклов.

Разъяснивший Python | ChatGPT
2
Yarl — Удобная работа с URL

Yarl — это библиотека Python, предназначенная для удобной работы с URL-адресами. Она предоставляет API для создания, изменения и анализа URL-адресов, сохраняя при этом их семантическую корректность.

Если вы работаете с URL-адресами и хотите упростить их обработку в Python, Yarl может быть отличным выбором.

Ссылочка на доку

Разъяснивший Python | ChatGPT
Использование try/except для безопасного доступа к словарям

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

Использование try/except делает код более надёжным и защищает от сбоев, вызванных отсутствием ключей в словарях, что упрощает работу с динамическими и неопределёнными данными.

Разъяснивший Python | ChatGPT
👎3🗿3👍2
Срезы итераторов

Если вы попытаетесь получить срез (slice) итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению

Разъяснивший Python | ChatGPT
Falcon — высокопроизводительный веб-фреймворк для создания API

Falcon — это минималистичный веб-фреймворк Python, ориентированный на производительность и масштабируемость. Он идеально подходит для создания REST API, обеспечивая низкое потребление ресурсов и высокую скорость обработки запросов.

Falcon — отличный выбор для разработчиков, которым требуется высокая производительность и низкий уровень абстракции при разработке API.

Ссылочка на доку

Разъяснивший Python | ChatGPT
Получение срезов итераторов

Воспользовавшись методом itertools.islice можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.

Разъяснивший Python | ChatGPT
h11 — Асинхронный HTTP/1.1 протокол

h11 — это минималистичная и высокоэффективная реализация протокола HTTP/1.1. Эта библиотека не содержит зависимостей и может использоваться для построения клиентских или серверных HTTP-решений с нуля, поддерживая высокую производительность и асинхронное взаимодействие.

h11 — это отличный выбор для продвинутых разработчиков, которые хотят строить высокопроизводительные HTTP-сервера или клиенты без лишних зависимостей и максимальной гибкости.

Ссылочка на доку

Разъяснивший Python | ChatGPT
Hug — Создание REST API с минимальными усилиями

Hug — это легковесная библиотека Python, которая позволяет создавать REST API буквально за считанные минуты. Она поддерживает как синхронные, так и асинхронные запросы, что делает её отличным выбором для разработчиков, которым нужно быстро разрабатывать веб-сервисы.

Hug — идеальная библиотека для разработчиков, которым нужны простые и эффективные решения для создания REST API.

Ссылочка на доку

Разъяснивший Python | ChatGPT
3
Итерируемые объекты

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

Разъяснивший Python | ChatGPT
👍1
Ограничение использования процессора и памяти (ч.1)

Если вместо того, чтобы оптимизировать программу, или улучшить то, как она пользуется процессором, вам нужно просто задать жёсткое ограничение на доступные ей ресурсы, можно воспользоваться соответствующей библиотекой

Тут показано ограничение процессорного времени и объёма памяти. Для того чтобы ограничить использование программой процессора, мы сначала получаем значения нежёсткого и жёсткого (hard) лимитов для конкретного ресурса (RLIMIT_CPU).

Разъяснивший Python | ChatGPT
👍1🥰1
Ограничение использования процессора и памяти (ч.2)

Затем мы устанавливаем лимит, используя некое число секунд, задаваемое аргументом seconds, и ранее полученное значение жёсткого лимита. После этого мы регистрируем обработчик signal, который, при превышении выделенного программе процессорного времени, инициирует процедуру выхода. В случае с памятью, мы, опять же, получаем значения для нежёсткого и жёсткого лимитов, после чего устанавливаем ограничение с помощью метода setrlimit, которому передаём размер ограничения (size) и ранее полученное значение жёсткого лимита

Разъяснивший Python | ChatGPT
👍1🥰1
F-строки

Сложно делать что-либо без строк в Python и чтобы сохранить адекватность, вам нужно иметь структурированный способ работы со строками. Большая часть людей, работающих с Python, предпочитают метод format python.

Разъяснивший Python | ChatGPT
🥰2🤡1
Textblob — Простая обработка текста с использованием NLP

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

Textblob — отличный выбор для работы с текстом, если вам нужно легко и быстро реализовать простые функции NLP.

Ссылочка на доку

Разъяснивший Python | ChatGPT
FlashText — Быстрый поиск и замена строк

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

FlashText — идеальный выбор для поиска и замены ключевых слов в текстах, когда производительность имеет ключевое значение.

Ссылочка на доку

Разъяснивший Python | ChatGPT