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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
БЕСПЛАТНЫЙ ХОСТИНГ для TELEGRAM БОТА на PYTHON AIOGRAM

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

Смотреть...

Разъяснивший Python
Улучшаем читаемость

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

Разъяснивший Python
Решение с помощью функций

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

Можно применять и более старые функциональные подходы для решения тех же задач, комбинируя map(), lambda и filter().

Разъяснивший Python
Выражения-генераторы

Выражения-генераторы (generator expressions) доступны, начиная с Python 2.4. Основное их отличие от генераторов коллекций в том, что они выдают элемент по-одному, не загружая в память сразу всю коллекцию.

Разъяснивший Python
Ветвление выражения

Условия ветвления пишутся не после, а перед итератором.

В данном случае if-else это не фильтр перед выполнением выражения, а ветвление самого выражения, то есть переменная уже прошла фильтр, но в зависимости от условия может быть обработана по-разному!

Разъяснивший Python
Особенности выражений-генераторов (ч.1)

Генаратор нельзя писать без скобок — это синтаксическая ошибка.

При передаче в функцию дополнительные скобки необязательны.

Нельзя получить длину функцией len()

Нельзя распечатать элементы функцией print()

Разъяснивший Python
Особенности выражений-генераторов (ч.2)

Обратите внимание, что после прохождения по выражению-генератору оно остается пустым!

Выражение-генератор может быть бесконечным.

К выражению-генератору не применимы срезы!

Из генератора легко получать нужную коллекцию. Это подробно рассматривается в следующей главе.

Разъяснивший Python
Создание коллекций из выражения-генератора (ч.1)

Передачей готового выражения-генератора присвоенного переменной в функцию создания коллекции.

Разъяснивший Python
Создание коллекций из выражения-генератора (ч.2)

Написание выражения-генератора сразу внутри скобок вызываемой функции создания коллекции.

Разъяснивший Python
⚡️Лёгких денег в бизнесе не бывает

❗️ Многие думают: запустил дело — и пошло. Деньги капают, процессы делегированы, жизнь удалась.
А потом внезапно — кассовый разрыв, мёртвая ниша и минус на счёте.

84% бизнесов прогорают именно так — не из-за налогов или конкурентов, а из-за непонимания, как реально работает рынок и банки.

Канал Бизнесовый — про настоящую сторону предпринимательства. Без глянца и псевдоуспеха. Автор разбирает, как мыслить системно, выстраивать процессы и зарабатывать не на хайпе, а на опыте.

Хочешь перестать быть в числе 84%?
Подписывайся — https://news.1rj.ru/str/+cfit7wtolMtkNDhi
Укрощение монстров: мониторинг и управление ресурсоемкими запросами в Django + PostgreSQL

Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.

Читать...

Разъяснивший Python
abc.ABCMeta

Класс abc.ABCMeta из модуля abc используется для создания абстрактных базовых классов (Abstract Base Classes). Это позволяет определить методы, которые должны быть реализованы в подклассах, и предотвращает создание экземпляров базового класса.

Разъяснивший Python
Генерация строк

Для создания строки вместо синтаксиса выражений-генераторов используется метод строки .join(), которому в качестве аргументов можно передать выражение генератор.
Обратите внимание: элементы коллекции для объединения в строку должны быть строками!

Разъяснивший Python
Измеряем время выполнения кода одной строкой

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

Итог:
Используйте time.perf_counter() для точного измерения времени выполнения кода — он лучше подходит для микробенчмарков, чем time.time().

Разъяснивший Python
Перебор части итерируемого.

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

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

Выходом может быть использование функции islice() из пакета itertools.

Разъяснивший Python
Вложенный генератор внутри генератора — двумерная из двух одномерных

Общий синтаксис: [[expression for y in iter2] for x in iter1]

Применение: генерируем двумерную структуру, используя данные из двух одномерных итераторов.

Разъяснивший Python
Состояние производительности Python 3.13: Free-Threading

Статья посвящена новому free-threaded режиму в CPython 3.13, который открывает возможности параллельного выполнения потоков. Рассматриваются особенности его использования и влияние на производительность.

Читать...

Разъяснивший Python
Генератор итерирующийся по генератору

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

Разъяснивший Python
Вложенный генератор внутри генератора — двумерная из двумерной

Общий синтаксис: [[expression for y in x] for x in iterator]

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

Разъяснивший Python
Ф-строки рулят. F-Strings, форматирование

Современный питонист должен знать и использовать только f-strings, они модные, молодежные, удобные. Все старые форматы должны умереть, но к сожалению, выживают за счет старых туториалов и слепого копипаста новичков.

Смотреть...

Разъяснивший Python
Оператор морж (:=) или способ записывать данные в переменную о котором вы не знали

Начиная с Python 3.8, появился новый синтаксис под названием «оператор морж» или walrus operator, который может присваивать значения переменным как часть более крупного выражения.

Оператор := получил свое милое название из-за глаз и бивней моржа.

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