Разъяснивший 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
Создание декоратора с аргументами

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

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

Метод используется для получения значения по ключу. Синтаксис: dict.get(key)
Если ключ есть в словаре, возвращается соответствующее значение, если ключа нет, вместо ошибки возвращается значение None.

Можно задать customized значение, если ключ отсутствует: dict.get(key, customized_value)

Метод полезен, когда нет уверенности, что ключ присутствует в словаре, так как позволяет избежать ошибки при обращении к несуществующим ключам.

Разъяснивший Python | ChatGPT
👍1
Использование f-строк для форматирования строк

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

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

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

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

Разъяснивший Python | ChatGPT
Использование функции zip() для одновременной итерации по нескольким спискам

Когда вам нужно итерировать сразу по нескольким спискам параллельно, функция zip() позволяет делать это легко и эффективно.

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

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

В методе Naive цикл for используется для обхода второго списка. После этого элементы из второго списка добавляются к первому списку. Первый список является объединением первого и второго списков.

Разъяснивший Python | ChatGPT
Использование defaultdict для упрощённой работы со словарями

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

Разъяснивший Python | ChatGPT
👍1
Превращение функций в методы класса с помощью 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