Функция map вызывает другую функцию для каждого элемента итерируемого объекта. Это значит, что функция должна принимать одно значение в качестве аргумента: In : list(map(lambda x: x ** 2, [1, 2, 3])) Out: [1, 4, 9] Однако если каждый элемент итерируемого объекта — это кортеж, было бы удобно передавать каждый элемент кортежа как отдельный аргумент. В Python 2 это было возможно благодаря распако…
Библиотека Python разработчика | Книги по питону
@bookpython · Telegram
Редакция «Библиотека Python разработчика», 2 канала·Также в ·Сетка «Библиотека Python разработчика», 3 канала
В каталоге с 19 сентября 2026 · показатели пересчитываются каждый час
История канала за 30 дней (16 сообщений) сразу появится в вашей ленте.
О канале
Библиотека Python разработчика | Книги по питону — канал Telegram в рубрике «IT и технологии». На 7 ноября 2026 у него 17 944 подписчиков, за 30 дней убыло 98. Публикует в среднем 0,5 поста в день, охват типичного поста — 680 (3,7 % подписчиков). Вовлечённость (ER) — 0,4 %. Последняя публикация — вчера. Это основная редакция «Библиотека Python разработчика»: у неё 2 канала. Публикует одни и те же тексты одновременно с другими каналами: сетка «Библиотека Python разработчика» из 3 каналов. Данные ТелеМакс, обновляются каждый час.
Как считаются цифры
ER = реакции ÷ охват, ERR = просмотры ÷ подписчики. Охват — средние просмотры поста за 30 дней; медиана рядом показывает типичный пост — она не поднимается от одной оплаченной публикации, в отличие от среднего. Последняя публикация: вчера. Число подписчиков снято 9 часов назад, остальные метрики пересчитаны 39 минут назад. Реакции Telegram замеряются с 12.09.2026, и ER считается по тем постам, где они уже замерены.
Подписчики за 30 дней
| День | Подписчики | Прирост | Посты | Реклама | За сутки | Всего | Реакции |
|---|---|---|---|---|---|---|---|
| 07.11.2026 | 17 943 | −3 | 0 | — | — | — | — |
| 06.11.2026 | 17 946 | −8 | 1 | 0 | — | 302 | 0 |
| 05.11.2026 | 17 954 | −10 | 1 | 0 | 471 | 471 | 3 |
| 04.11.2026 | 17 964 | 0 | 0 | — | — | — | — |
| 03.11.2026 | 17 964 | −4 | 0 | — | — | — | — |
| 02.11.2026 | 17 968 | +1 | 1 | 0 | ≈ 448 | 716 | 4 |
| 01.11.2026 | 17 967 | −2 | 0 | — | — | — | — |
| 31.10.2026 | 17 969 | −2 | 0 | — | — | — | — |
| 30.10.2026 | 17 971 | −3 | 1 | 0 | 413 | 721 | 0 |
| 29.10.2026 | 17 974 | −4 | 0 | — | — | — | — |
| 28.10.2026 | 17 978 | −1 | 1 | 0 | 508 | 683 | 0 |
| 27.10.2026 | 17 979 | −2 | 2 | 0 | 1 К | 1 К | 0 |
| 26.10.2026 | 17 981 | −10 | 1 | 0 | 497 | 624 | 0 |
| 25.10.2026 | 17 991 | −2 | 0 | — | — | — | — |
| 24.10.2026 | 17 993 | −4 | 0 | — | — | — | — |
| 23.10.2026 | 17 997 | −4 | 0 | — | — | — | — |
| 22.10.2026 | 18 001 | −3 | 2 | 0 | 637 | 1 К | 0 |
| 21.10.2026 | 18 004 | −1 | 0 | — | — | — | — |
| 20.10.2026 | 18 005 | −7 | 1 | 0 | 436 | 689 | 0 |
| 19.10.2026 | 18 012 | −3 | 1 | 0 | 484 | 810 | 3 |
| 18.10.2026 | 18 015 | −3 | 0 | — | — | — | — |
| 17.10.2026 | 18 018 | −2 | 0 | — | — | — | — |
| 16.10.2026 | 18 020 | −3 | 0 | — | — | — | — |
| 15.10.2026 | 18 023 | −4 | 1 | 0 | 448 | 608 | 0 |
| 14.10.2026 | 18 027 | −3 | 1 | 0 | 460 | 678 | 0 |
| 13.10.2026 | 18 030 | −3 | 0 | — | — | — | — |
| 12.10.2026 | 18 033 | −3 | 1 | 0 | 431 | 704 | 1 |
| 11.10.2026 | 18 036 | 0 | 0 | — | — | — | — |
| 10.10.2026 | 18 036 | −6 | 1 | 0 | 258 | 501 | 0 |
| 09.10.2026 | 18 042 | — | 0 | — | — | — | — |
Столбец «за сутки» показывает, сколько просмотров посты дня набрали за первые двадцать четыре часа: эту величину можно сравнивать между днями и каналами. Где замера ещё нет, стоит оценка со знаком «≈» — она считается по кривой набора охвата самого канала. «Всего» — накопленный счётчик тех же постов на сегодня, он продолжает расти. Реклама и реакции тоже относятся к постам этого дня, а не к каналу за сутки; в дни без публикаций там прочерк. Прочерк в подписчиках — в этот день число не измеряли; мы не дорисовываем пропуски.
Когда читают
Лучшее время — Вт, 7:00: средний охват 1 К при выборке 3 постов.
Что публикуют
Как набираются просмотры
За первые три часа пост набирает 33.4 % охвата, за сутки — 62.5 %. Охват копится несколько дней: оценивать размещение раньше чем через трое суток рано. Доля к каждому часу считается по одним и тем же постам, поэтому кривая не проседает; шкала времени логарифмическая, чтобы первые часы не слиплись.
Качество канала
- Охват 4 % от подписчиков — аудитория почти не читает
Достоверность охвата
- Аномалий не видно: счётчики просмотров полные, выбросов и скачков нет
Оценка о наших данных, а не о канале: она падает и там, где цифры просто неполные. Низкая достоверность при высоком качестве значит «канал живой, но охвату верить рано».
Публикации
Иногда в программе нужна очередь — контейнер, куда элементы добавляются с одной стороны и извлекаются с другой. В Python для этого можно использовать list: In : lst = [1, 2, 3] In : lst.pop() Out: 3 In : lst Out: [1, 2] In : lst[:0] = [4] # push In : lst Out: [4, 1, 2] Однако list выглядит не очень удобно (взгляните на этот "push") и работает неэффективно. In : lst = [0] * 10_000_000 In : …
Некоторый код может выводить интересующие вас данные в stdout, вместо того чтобы предоставлять API, возвращающий строку, пригодную для использования в программе. Вместо рефакторинга такого кода можно воспользоваться менеджером контекста contextlib.redirect_stdout, который позволяет временно перенаправить stdout в любой объект, поддерживающий файловый интерфейс. В сочетании с io.StringIO это позво…
Как упростить работу с аргументами в командной строке с помощью typer Раньше для CLI-приложений на Python я использовал argparse, потом был click, но недавно полностью перешёл на typer. Это библиотека от автора FastAPI, и она реально 🔥 Вот простой пример: import typer app = typer.Typer() @app.command() def hello(name: str, age: int = 18): print(f"Привет, {name}! Тебе {age} лет.") if __n…
Создание объекта в Python включает два ключевых этапа. Сначала вызывается метод __new__, который создаёт и возвращает новый объект. Затем вызывается метод __init__ для инициализации состояния этого объекта. Однако, если __new__ возвращает объект, который не является экземпляром исходного класса, метод __init__ не будет вызван. Это связано с тем, что возвращаемый объект, вероятно, уже создан други…
Обычно вы взаимодействуете с генератором, запрашивая данные с помощью next(gen). В Python 3 вы также можете отправлять значения обратно в генератор с помощью g.send(x). Но существует техника, которой вы, вероятно, не пользуетесь каждый день, а возможно, и вовсе не знаете: выбрасывание исключений внутри генератора. С помощью gen.throw(e) можно выбросить исключение в той точке, где генератор gen пр…
💡 Как избежать повторения кода с помощью functools.partial Как упростить код и избежать дублирования с помощью functools.partial. Допустим, у нас есть функция send_email(to, subject, body, is_html=False), и мы часто вызываем её с одним и тем же параметром is_html=True. Вместо того чтобы каждый раз писать это явно, можно создать частичную функцию: from functools import partial send_html_email…
Встроенные значения float в Python используют оборудование вашего компьютера напрямую, поэтому любое значение представляется внутренне в виде двоичной дроби. Это означает, что вы обычно работаете с приближениями, а не с точными значениями: >>> format(0.1, '.17f') '0.10000000000000001' Модуль decimal позволяет использовать десятичную арифметику с произвольной точностью: >>> from decimal impo…
Создание объекта в Python включает два ключевых этапа. Сначала вызывается метод __new__, который создаёт и возвращает новый объект. Затем вызывается метод __init__ для инициализации состояния этого объекта. Однако, если __new__ возвращает объект, который не является экземпляром исходного класса, метод __init__ не будет вызван. Это связано с тем, что возвращаемый объект, вероятно, уже создан други…
Как упростить работу с аргументами в командной строке с помощью typer Раньше для CLI-приложений на Python я использовал argparse, потом был click, но недавно полностью перешёл на typer. Это библиотека от автора FastAPI, и она реально 🔥 Вот простой пример: import typer app = typer.Typer() @app.command() def hello(name: str, age: int = 18): print(f"Привет, {name}! Тебе {age} лет.") if __n…
Популярный способ объявить абстрактный метод в Python — это выбросить исключение NotImplementedError: def human_name(self): raise NotImplementedError Хотя этот подход довольно распространён и даже поддерживается IDE (например, PyCharm считает такие методы абстрактными), у него есть недостаток: ошибка возникает только при вызове метода, а не при создании экземпляра класса. Чтобы избежать э…
Некоторый код может выводить интересующие вас данные в stdout, вместо того чтобы предоставлять API, возвращающий строку, пригодную для использования в программе. Вместо рефакторинга такого кода можно воспользоваться менеджером контекста contextlib.redirect_stdout, который позволяет временно перенаправить stdout в любой объект, поддерживающий файловый интерфейс. В сочетании с io.StringIO это позво…
Иногда в программе нужна очередь — контейнер, куда элементы добавляются с одной стороны и извлекаются с другой. В Python для этого можно использовать list: In : lst = [1, 2, 3] In : lst.pop() Out: 3 In : lst Out: [1, 2] In : lst[:0] = [4] # push In : lst Out: [4, 1, 2] Однако list выглядит не очень удобно (взгляните на этот "push") и работает неэффективно. In : lst = [0] * 10_000_000 In : …
Скрытые фичи Enum: как выжать максимум Многие используют Enum как простой список констант. Но у enum.Enum в Python есть куда больше возможностей — и они могут сделать код чище и мощнее. Вот несколько приёмов, которые мало кто использует — но зря. 1. Добавление поведения в Enum from enum import Enum class Status(Enum): DRAFT = 'draft' PUBLISHED = 'published' ARCHIVED = 'archived…
default_factory в dataclass: мощнее, чем кажется Многие используют dataclass как удобный способ задать структуру с полями. Но редко кто по-настоящему раскрывает силу default_factory. А зря — он спасает от багов и даёт гибкость. Когда нужно задать значение по умолчанию для поля в dataclass, логично тянуться к default=. Но если это изменяемый тип (например, список или словарь) — вас поджидает лову…
yield from — элегантная передача управления Если вы пишете генераторы, которые вызывают другие генераторы — забудьте про for x in sub(): yield x. Есть способ проще и мощнее. Оператор yield from позволяет передавать элементы из подгенератора напрямую, без лишнего кода. Но фишка не только в лаконичности — он также автоматически пробрасывает исключения и возвращаемые значения из подгенератора. Вот…
Похожие каналы
Random.app / Розыгрыши призов
66 К подписчиков
Мамин Программист
66 К подписчиков
Типичный Бортпроводник
66 К подписчиков
SMM AI Platform
66 К подписчиков
ВРабстве - игра
67 К подписчиков
↣МЕКТЕП ҚЫЗЫҚТАРЫ|♛|
67 К подписчиков