Добавить в каталог
Войти
Темная тема
0
Канал Zen of Python в Telegram

Zen of Python

@zen_of_python
КаналТехнологииПубличный
Перейти в канал
Перейти в канал
18.7KПодписчиков
июл 2025Добавлен
РусскийЯзык

Описание

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Статистика

Рост подписчиков

18 714▼ 2.0%
Рост подписчиков
ДатаПодписчиков
1 авг19 097
2 авг19 091
3 авг19 084
4 авг19 085
5 авг19 081
6 авг19 072
7 авг19 071
8 авг19 060
9 авг19 058
10 авг19 057
11 авг19 057
12 авг19 050
13 авг19 043
14 авг19 045
15 авг19 034
16 авг19 025
17 авг19 020
18 авг19 015
19 авг19 005
20 авг18 993
21 авг18 987
22 авг18 981
23 авг18 969
24 авг18 973
25 авг18 967
26 авг18 959
27 авг18 951
28 авг18 956
29 авг18 953
30 авг18 951
31 авг18 952
2 сен18 938
3 сен18 929
4 сен18 921
5 сен18 917
6 сен18 915
7 сен18 911
8 сен18 904
9 сен18 903
10 сен18 898
11 сен18 893
12 сен18 893
13 сен18 879
14 сен18 876
15 сен18 882
16 сен18 875
17 сен18 869
18 сен18 862
19 сен18 859
20 сен18 853
21 сен18 852
22 сен18 845
23 сен18 835
24 сен18 831
25 сен18 834
26 сен18 822
27 сен18 818
28 сен18 819
29 сен18 818
30 сен18 813
1 окт18 806
2 окт18 806
3 окт18 804
4 окт18 803
5 окт18 799
6 окт18 800
7 окт18 795
8 окт18 792
9 окт18 797
10 окт18 802
11 окт18 798
12 окт18 798
13 окт18 790
14 окт18 784
15 окт18 781
16 окт18 775
17 окт18 771
18 окт18 771
19 окт18 770
20 окт18 768
21 окт18 766
22 окт18 762
23 окт18 758
24 окт18 756
25 окт18 746
26 окт18 740
27 окт18 729
28 окт18 724
30 окт18 714

Количество постов

5 105▲ 4.8%
Количество постов
ДатаПостов
1 авг4 871
2 авг4 872
3 авг4 874
4 авг4 875
5 авг4 876
6 авг4 877
7 авг4 878
8 авг4 878
9 авг4 878
10 авг4 880
11 авг4 880
12 авг4 882
13 авг4 883
14 авг4 884
15 авг4 885
16 авг4 885
17 авг4 887
18 авг4 888
19 авг4 891
20 авг4 896
21 авг4 899
22 авг4 903
23 авг4 907
24 авг4 909
25 авг4 910
26 авг4 913
27 авг4 918
28 авг4 921
29 авг4 922
30 авг4 925
31 авг4 927
2 сен4 930
3 сен4 932
4 сен4 936
5 сен4 943
6 сен4 947
7 сен4 951
8 сен4 952
9 сен4 955
10 сен4 959
11 сен4 961
12 сен4 965
13 сен4 970
14 сен4 974
15 сен4 978
16 сен4 983
17 сен4 987
18 сен4 990
19 сен4 993
20 сен4 996
21 сен4 999
22 сен5 002
23 сен5 005
24 сен5 008
25 сен5 011
26 сен5 014
27 сен5 017
28 сен5 020
29 сен5 023
30 сен5 026
1 окт5 029
2 окт5 031
3 окт5 032
4 окт5 033
5 окт5 033
6 окт5 033
7 окт5 036
8 окт5 037
9 окт5 040
10 окт5 043
11 окт5 048
12 окт5 051
13 окт5 055
14 окт5 061
15 окт5 065
16 окт5 068
17 окт5 073
18 окт5 076
19 окт5 079
20 окт5 082
21 окт5 085
22 окт5 089
23 окт5 091
24 окт5 092
25 окт5 095
26 окт5 096
27 окт5 100
28 окт5 101
29 окт5 102
30 окт5 105

Средние просмотры на пост

1 069▼ 39.9%
Средние просмотры на пост
ДатаПросмотров
1 авг1 778
2 авг1 801
3 авг1 660
4 авг1 759
5 авг1 764
6 авг1 709
7 авг1 702
8 авг1 739
9 авг1 769
10 авг1 711
11 авг1 828
12 авг1 701
13 авг1 638
14 авг1 667
15 авг1 706
16 авг1 760
17 авг1 642
18 авг1 621
19 авг1 468
20 авг1 684
21 авг1 624
22 авг1 640
23 авг984
24 авг1 024
25 авг1 114
26 авг1 127
27 авг1 045
28 авг1 058
29 авг1 143
30 авг1 109
31 авг1 195
2 сен1 250
3 сен1 258
4 сен1 173
5 сен950
6 сен955
7 сен1 078
8 сен1 191
9 сен1 236
10 сен1 271
11 сен1 217
12 сен1 154
13 сен963
14 сен1 196
15 сен1 434
16 сен926
17 сен933
18 сен956
19 сен911
20 сен901
21 сен880
22 сен907
23 сен924
24 сен937
25 сен946
26 сен936
27 сен880
28 сен851
29 сен878
30 сен891
1 окт904
2 окт933
3 окт956
4 окт981
5 окт1 018
6 окт1 055
7 окт1 066
8 окт1 141
9 окт1 129
10 окт1 054
11 окт831
12 окт802
13 окт788
14 окт805
15 окт815
16 окт808
17 окт820
18 окт830
19 окт817
20 окт848
21 окт877
22 окт961
23 окт986
24 окт1 036
25 окт1 029
26 окт1 067
27 окт1 100
28 окт1 072
29 окт1 122
30 окт1 069

Аналитика

Подписчики

−99−0,53%изменение за период
−3в среднем за день
+5лучший день · 9 окт 2026
−11худший день · 27 окт 2026

Публикации и охват

2,3постов в день · 34 за период
1 121средний охват поста
6%читаемость · доля подписчиков, видящих пост
0,7реакций на пост
62%постов с фото и видео

Место в каталоге

#10 527среди 47 083 каналов
#552в «Технологии» из 1 906
#992по читаемости в категории из 1 281

Прирост подписчиков по дням

Где между замерами больше суток — средний прирост в день

Читаемость по дням

Какая доля подписчиков видит пост

Просмотры постов

Каждый столбец — отдельный пост

Когда выходят посты

По часам, московское время

Самые просматриваемые посты

Посты, которые прочитали больше всего людей
  1. 1.4K
    Decimal начинается до первого float Две почти одинаковые записи дают разное округление. На Python 3.14.4 этот пример выводит сначала 2.68, затем 2.67: from de
  2. 1.4K
    Почему обновления Django важны даже без SQL-инъекций Запрос может вредить серверу, просто заставляя его тратить слишком много памяти или процессорного времени
  3. 1.4K
    В строке ABA у groupby три группы Две буквы A не объединятся, потому что между ними стоит B. itertools.groupby начинает новую группу каждый раз, когда меняется
  4. 1.4K
    Задача в очереди, а строки в базе ещё нет Внутри transaction.atomic() вы создаёте заказ и сразу отправляете его ID фоновому воркеру. Воркер может успеть обрати
  5. 1.3K
    Зелёный CI с устаревшим lock-файлом Вы добавили зависимость в pyproject.toml, а обновлённый uv.lock забыли закоммитить. Флаг --frozen может показаться строгой

Больше всего реакций

Посты, на которые читатели реагировали чаще всего
  1. 5
    ChainMap читает все слои, а пишет только в первый Для конфигурации удобно читать переопределения поверх значений по умолчанию. ChainMap делает это без предвари
  2. 4
    На PyPI снова нашли заражённый LiteLLM, популярный шлюз к API разных LLM: версия 1.107.0 провисела около двух часов и ставила стилер. Он срабатывает при старте
  3. 2
    match в pytest ищет регулярное выражение Тест с pytest.raises(ValueError, match="bad.file") может пройти на сообщении badXfile. Точка здесь означает любой симв
  4. 2
    Кто закроет async-генератор после break Вы читаете поток до первого подходящего элемента и выходите через break. Цикл закончился, но сам по себе этот выход не
  5. 2
    urljoin спокойно заменит ваш домен Базовый адрес в первом аргументе не удерживает результат внутри вашего сайта. Второй аргумент может содержать собственный до

Посты из канала

shield защищает задачу, но не ожидание Корутина ждёт важную операцию, и в этот момент её отменяют. Если ожидание обёрнуто в asyncio.shield(task), внутренняя задача не отменяется вместе с вызывающей корутиной. Но у вызывающей корутины await всё равно поднимет CancelledError. Получаются два разных с...
compare_digest не выходит на первом различии Когда ожидаемая и полученная подписи уже вычислены, остаётся проверить равенство. Обычное сравнение может закончиться на первом различии. Для криптографических значений в стандартной библиотеке есть hmac.compare_digest(expected, received). Функция избег...
Хеши pip должны покрывать и зависимости Добавить хеш только главному пакету недостаточно для строгой установки. Команда python -m pip install --require-hashes -r requirements.txt требует закрепить все требования, включая транзитивные зависимости, и указать для них локальные хеши разрешённых артефак...
iterator не ограничивает память драйвера Для одноразового обхода большой выборки у QuerySet есть iterator(). Он не наполняет обычный кеш результатов самого QuerySet. Если выборка уже была вычислена, вызов iterator выполнит запрос ещё раз. В Django 5.2 его можно сочетать с prefetch_related(), явно ...
match в pytest ищет регулярное выражение Тест с pytest.raises(ValueError, match="bad.file") может пройти на сообщении badXfile. Точка здесь означает любой символ, а не буквальную точку в имени файла. И совпадать со всем сообщением шаблон тоже не обязан. Параметр match использует re.search. Для бук...
NewType различает ID без новых объектов Идентификаторы пользователя и заказа могут быть обычными int, но случайно поменять их местами всё равно ошибка. UserId = NewType("UserId", int) позволяет описать это различие для статического анализатора. Функция с параметром UserId принимает UserId(42), а н...
Кто закроет async-генератор после break Вы читаете поток до первого подходящего элемента и выходите через break. Цикл закончился, но сам по себе этот выход не гарантирует немедленное выполнение finally у async-генератора. Если там освобождается ресурс, его срок жизни лучше задать явно. В Python 3....
ChainMap читает все слои, а пишет только в первый Для конфигурации удобно читать переопределения поверх значений по умолчанию. ChainMap делает это без предварительного слияния словарей: from collections import ChainMap defaults = {"timeout": 30} overrides = {} config = ChainMap(overrides, default...
Цикл в графе: независимые задачи ещё можно выполнить Задача a ждёт b, а b ждёт a. Полностью упорядочить такой граф нельзя. Но если рядом есть независимая задача free, ошибка цикла не обязана останавливать и её. У graphlib.TopologicalSorter вызов prepare() поднимет CycleError. После обработки этого...
urljoin спокойно заменит ваш домен Базовый адрес в первом аргументе не удерживает результат внутри вашего сайта. Второй аргумент может содержать собственный домен даже без схемы: from urllib.parse import urljoin print(urljoin( "https://safe.example/users/", "//other.example/admin", )) По...
bisect ждёт ключ, insort ждёт запись У двух функций из одного модуля разные требования к искомому значению. Если записи отсортированы по числовому полю, в bisect_left передайте число, а в insort саму запись: from bisect import bisect_left, insort rows = [("Ada", 10), ("Lin", 30)] print(bisect_lef...
Подмена в pytest может закончиться раньше теста Тест сначала проверяет код с подменённой зависимостью, а затем хочет вызвать настоящий объект. Если все изменения сделаны через обычную фикстуру monkeypatch, автоматический откат произойдёт лишь после завершения теста или использующей её фикстуры. Су...