#вопросы_с_собеседований Что такое замыкание? Замыкание (closure) — это функция, которая запоминает значения переменных из области видимости, в которой она была создана, и может получить к ним доступ, даже если она будет вызвана за пределами этой области видимости. Ключевым моментом является то, что замыкание запоминает ссылки на переменные, а не сами значения. Это позволяет обращаться к актуальным значениям переме…

Channel
Senior Python Developer
@seniorpy
On this record: Topic · Growth · Engagement · What this channel posts · Advertising · Posts · Posts edited after publishing · Citations · Handles named that no longer answer · Telegram's recommendations · Cite this entry
39,437subscribers
-922 since we began measuring on 7 August 2026
Risers and fallers across the register · movement among entries of 31,623–100,000.
Register entry
| Telegram ID | -1001558186588 |
|---|---|
| Type | Channel |
| Username | @seniorpy |
| Description | № 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy |
| Created | Between 1 August 2021 and 28 February 2023 — estimated from Telegram’s id allocation, not measured. How this range is calculated. |
| First recorded | 7 August 2026 |
| Last confirmed live | 23 October 2026 |
| Measurements held | 46 |
| Confirmed unchanged | 1 time, most recently 23 October 2026 |
| On Telegram | t.me/seniorpy |
Topic
Technology — a classification, not a measurement. An on-box language model (Qwen3.6-35B-A3B-FP8, prompt version 1) read this channel’s own recent posts on 9 September 2026 and assigned it the closest of 31 fixed categories, at 73% confidence. This is a model’s judgement about what the channel is likely to be about, not a fact this register measured the way a subscriber count or a view count is measured — it can be revised on a later pass, and it carries no weight anywhere else on this page. How this classification works, and why it has no browse page of its own yet.
Growth
| Measured (UTC) | Subscribers | Change |
|---|---|---|
| 23 Oct 2026, 03:50 | 39,437 | -16 |
| 22 Oct 2026, 02:51 | 39,453 | -14 |
| 20 Oct 2026, 22:26 | 39,467 | -19 |
| 19 Oct 2026, 18:50 | 39,486 | -13 |
| 18 Oct 2026, 16:46 | 39,499 | -15 |
| 17 Oct 2026, 20:11 | 39,514 | -1 |
| 16 Oct 2026, 19:56 | 39,515 | -7 |
| 15 Oct 2026, 22:50 | 39,522 | -17 |
| 14 Oct 2026, 23:06 | 39,539 | -36 |
| 13 Oct 2026, 13:56 | 39,575 | -34 |
| 9 Oct 2026, 18:37 | 39,609 | -48 |
| 5 Oct 2026, 10:37 | 39,657 | -75 |
| 29 Sept 2026, 05:59 | 39,732 | -132 |
| 18 Sept 2026, 01:39 | 39,864 | -22 |
| 15 Sept 2026, 19:56 | 39,886 | -20 |
| 14 Sept 2026, 02:36 | 39,906 | -15 |
| 12 Sept 2026, 09:17 | 39,921 | -31 |
| 10 Sept 2026, 05:39 | 39,952 | -44 |
| 6 Sept 2026, 23:59 | 39,996 | -41 |
| 4 Sept 2026, 08:17 | 40,037 | first reading |
Engagement
90 posts held, back to 12 July 2026 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 149 pages of Telegram’s post history, 20 posts per page.
- ERR · 30 days
- 6.82%
- avg views ÷ 39,437 subscribers
- Avg views / post
- 2,690
- 26 posts measured
- Reaction rate
- —
- this channel exposes no reaction counts
- Posts in window
- 26
- of 90 held
ERR is average views per post over the last 30 days divided by subscribers, the definition TGStat uses, so this figure is comparable with the one you will see elsewhere. It falls structurally as a channel grows: a high ERR on a small channel and a low one on a large channel describe reach mathematics, not quality. We publish the figure and the sample it came from and pass no verdict on it.
ER is defined industry-wide as (forwards + reactions + comments) ÷ views — note the denominator is views, not subscribers. Telegram’s public web preview carries views and reactions but not forward or comment counts, so the reaction rate above is the reactions term only and is therefore a floor: the true ER for this channel is higher by an amount we have not measured and will not estimate.
| Window | Rolling 30 days · latest post in window 22 October 2026 |
|---|---|
| Posts held | 90 (12 July 2026 – 22 October 2026) |
| Views total | 69,900 |
| Reactions total | — |
| Forwards / comments | not exposed by the public surface — not measured, not estimated |
| Readings taken | 23 Oct 2026, 18:51 UTC |
Views are a single reading per post, taken at the time above. A post published in the last day or two is still accumulating views, which pulls the 30-day average down slightly. That is a property of the standard definition rather than a fault in it, so we keep the definition rather than “correcting” the number into something nobody can reproduce.
Precision. Telegram publishes view counts on its public widget in short form — 8.12K, 3.7M — so any reading at or above 1,000 reaches us rounded to three significant figures, and only counts below 1,000 are exact. Averages and rates derived from them are shown to the same precision rather than to the unit: a figure like 3,701,250 would assert digits nobody measured.
Reaction counts are published per emoji and rounded the same way, so a total below 1,000 is exact and a larger one is a sum that may carry a rounded component from each emoji above 1,000. Because it is a sum, it does not look rounded — read a large reaction total as three significant figures per contributing emoji rather than as the figure it prints.
What this channel posts
- Photos
- ≈2,310
- Videos
- ≈6
- Links
- ≈568
Lifetime counters from Telegram’s own channel header, read 23 October 2026 — not the date at the top of this page, which is when the subscriber count was last read. A count marked ≈ was rounded by Telegram before we ever saw it — t.me prints these counters in full below 1,000 and to three significant figures above, so ≈142,000 means somewhere between 141,500 and 142,499.
Advertising
- Ad load
- 3.33%
- 3 of 90 posts carry an ad marker
- Regulatory tokens
- 3
- posts carrying an erid · 3 distinct tokens
- Median views · ads
- 2,710
- over 3 measured posts
- Median views · rest
- 3,200
- over 87 measured posts
An ad marker, not a judgement about a post. A post is counted here because it carries one of two explicit markings: an erid token, which Russian law has required on paid placements since 2022 and which is issued against a specific advertising contract, or a #реклама / #ad hashtag in the body, which is the channel declaring it itself. The first is documentary; the second is a self-declaration and is weaker. No classifier reads the text and decides — nothing on this site guesses that a post is an advertisement.
This is a floor, and it can only ever be a floor. A channel that runs paid placements without marking them produces no marker for us to count, and an unmarked ad is indistinguishable from an ordinary post on the public surface. The ad load above therefore means “the share of posts that declared themselves”, never “the share of posts that were paid for”. A low figure is not evidence of a channel that runs few ads.
Both figures are medians, and no ratio between them is published. Each is a view reading that actually occurred on a post, picked by percentile_disc rather than averaged, so one viral post cannot move it and no interpolated value is invented between two readings. The sample on one side is under five posts, which is too thin to compare. The two figures are shown side by side with the count behind each, and deliberately not divided into a headline like “ads get x% fewer views” — an arithmetic that is easy to print and, at this sample size, means nothing.
| erid | Posts | First seen | Last seen |
|---|---|---|---|
| 2VSb5yHVG7k | 1 | 11 September 2026 | 11 September 2026 |
| 2VtzquuHE37 | 1 | 19 August 2026 | 19 August 2026 |
| 2W5zFJyeSeu | 1 | 15 October 2026 | 15 October 2026 |
A token repeated across several posts is one advertising contract placed more than once, which is what the identifier is for. The strings are reproduced exactly as they appeared in the post or in its click-through URL and are not validated against any registry — we record the marker a channel published, and whether it resolves to a real contract is a question for the register that issued it.
Measured over the 90 most recent posts we hold, published 12 July 2026 to 22 October 2026. Views are the latest single reading held for each post, and any reading at or above 1,000 is rounded by Telegram to three significant figures.
Recent posts
collections.Counter Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов). Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности. Основное отличие Counter от обычного словаря в том, что он не выбрасывает исключение, если ключ не существует, а просто создает новый ключ со значением 0. Это упрощает подсчет элементов. Counter может принимать…
💻 Зависимости Python-проекта можно устанавливать и обновлять быстрее — если правильно настроить инструменты. На открытом уроке разберём uv — современный инструмент для управления Python-проектами и зависимостями. 🔥 Вы на практике: — изучите ключевые концепции uv; — разберёте основные команды для управления проектом и зависимостями; — узнаете, как использовать uv при сборке Docker-образов; — поймёте, как применять u…
collections.MutableMapping Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь). Он наследуется от интерфейса Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear. Основное преимущество в использовании MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь. Например, во многих функци…
Атрибут __slots__ Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса. __slots__ определяется как список имен атрибутов в определении класса. Экземпляры класса с __slots__ могут иметь атрибуты только с именами, определенными в __slots__. Попытка создать новый атрибут приведет к ошибке. Использование __slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов.…
Функции, поддерживающие только именованные аргументы (kwargs) **kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию. В функциях после позиционных и обычных именованных аргументов указывают параметр **kwargs. В kwargs передаются аргументы в виде ключ-значение. Внутри функции kwargs становится словарем, где ключи — имена аргументов, значения — значения аргументо…
#вопросы_с_собеседований Что такое фабрика декораторов? Фабрика декораторов — это особая разновидность функции высшего порядка, которая возвращает декоратор вместо прямого результата. Главное отличие фабрики декораторов от обычного декоратора в том, что она принимает аргументы, которые могут конфигурировать логику декоратора. Например, фабрика может принимать имя лог-файла, в который будет производиться запись при …
#вопросы_с_собеседований Как Python ищет модули при импорте? При импорте модулей интерпретатор следует определенному алгоритму поиска: 1. Сначала проверяются встроенные модули, которые поставляются в составе самого Python. 2. Затем по порядку просматриваются пути, перечисленные в sys.path — глобальной переменной, которая содержит список каталогов для поиска модулей. По умолчанию в sys.path входят: текущий рабочий …
+1 навык в копилку Разбираемся с одной из самых популярных СУБД Умение работать с СУБД PostgreSQL — база, которая точно не будет лишней. В бесплатном курсе от Selectel собрали все необходимое для погружения: от основ реляционной модели до создания таблиц и работы со сложными запросами. Вы актуальную теорию, практические задания и экономию десятков часов на самостоятельных поисках информации. Курс подойдет как для п…
Argcomplete Argcomplete — это библиотека для автодополнения аргументов командной строки. Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh). Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register. Основные возможности argcomplete: — А…
🤔 API работает — но как убедиться, что после очередного изменения оно продолжит работать корректно? На открытом уроке разберём, как автоматизировать проверку FastAPI-приложений с помощью pytest и TestClient. 🔥Вы на практике: — отправите запросы к приложению через TestClient; — напишете тесты для корректных и некорректных данных; — проверите HTTP-статусы и содержимое JSON; — разберётесь, как подменять зависимости пр…
#вопросы_с_собеседований Что делать если нужно сериализовать данные, которые не поддерживаются стандартным модулем json? Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов: — Реализовать методы __getattr__ и __setattr__ в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON. — Использовать декоратор dataclass из м…
Showing the 12 most recent of 90 posts we hold for @seniorpy. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.
Posts edited after publishing
@seniorpy edited 1 post after it first published — the same permalink now carries different wording than the one this register originally read, caught because our own crawl held a copy of the earlier text.
An edit is not deception. Typo fixes, price updates and corrections look exactly like this too — this register can tell you the wording changed and when, not why. How this is measured.
- First edit seen
- 24 September 2026
- Most recent edit
- 24 September 2026
Forward network
Republished by
Channels on the register that have forwarded this channel's posts into their own feed.
Built only from forwarded posts we have actually read, on both sides. Coverage is early and deliberately incomplete: a missing link means we have not read the post that would prove it, never that the relationship does not exist. Counts are distinct forwarded posts observed, so they only ever go up as we read more.
Mentions
Named by 1 registered channel — every channel on the register whose own posts have named this one, by its current username or any other username it currently holds, merged from two separately captured readings of the same fact so a namer caught by only one of them is not missed and a namer both caught is not counted twice. A username this channel has since dropped is not matched — that handle may belong to someone else now, and crediting today’s namer to yesterday’s owner would misattribute it.
Named by
Channels on the register whose posts name this channel's handle.
Names
Channels on the register whose handles appear in this channel's posts.
A mention is a weaker signal than a forward and is counted separately for that reason — naming a channel is not republishing it, and a handle in a post body is easy to place deliberately. The post counts beside each row below are distinct posts in which the handle appeared, from posts we have read on both sides — the “Named by N registered channels” figure above is a different count, of distinct NAMING CHANNELS rather than posts, and is not the sum of the rows under it.
Handles this channel named that no longer answer
- Dead references
- 2
- handles named in this channel’s posts, vacant today
- Evidenced gone
- 0
- we ourselves saw one of these resolve, at some point
- Never seen alive
- 2
- vacant every time we have ever looked
@seniorpy named 2 handles that resolve to nothing today. That is a fact about the reference, not necessarily a fact about the handle’s history — see the two groups below.
Most of these may never have existed as a live channel at all. A handle a channel names can be a typo, an aspirational name nobody registered, or a channel that was already gone before this one ever mentioned it. Unless a row below is marked evidenced, all we know is that it references a handle that is not a live channel today — not that anything “died”. How this is measured.
Never seen alive
References a handle that is not a live channel — we have no record it ever was one.
named in 2 posts, 17 October 2026 – 19 October 2026
named in 2 posts, 2 September 2026 – 4 September 2026
Channels Telegram recommends alongside this one
Telegram’s own answer, not this register’s. When this register asks Telegram’s API what is similar to this channel, this is the list it returns, in the exact order Telegram returns it — never re-sorted by subscribers or by anything else this register measures. The relationship, and the order, are Telegram’s; we record them and date them, and make no claim of our own about which of these channels actually resemble this one.
@python2day · 63,553#1
@osint_pythons · 36,484#2
@Python_per_month · 28,026#3
@python_piton_javascript · 124,850#4
@trendo · 67,007#5
@python_academy · 44,005#6
@pythonl · 58,611#7
@pyproglib · 37,124#8
@python_tg · 21,117#9
@zen_of_python · 18,755#10
@python_easy_ru · 12,606#11
@job_python · 23,325#12
@pythonguide_it · 15,827#13
@PythonPortal · 51,122#14
@pylinux0 · 11,056#15
@python_tricks · 5,077#16
@python_practics · 5,127#17
@easy_python_task · 8,997#18
@python_pssss · 6,933#19
@python_job_interview · 24,955#20
@pythonpythonjobs · 7,680#21
@devs_storage · 19,033#22
@Python_libr · 8,871#23
@seniorcpp · 11,540#24
@structuredata · 7,628#25
@pro_python_code · 12,329#26
@pythonist_ru · 23,941#27
@xo_py · 16,901#28
@data_analysis_ml · 51,728#29
@pythonexpert_it · 10,497#30
@pythonist24 · 55,495#31
@python_secrets · 40,494#32
@IT_Portal · 38#33
@justpython_it · 9,883 (as read 30 August 2026)#34
@artemshumeiko · 19,880#35
@pro100_python · 9,505#36
@developer_shelf · 26,773#37
@Leetcode_fans · 9,425#38
@devsp · 19,718#39
@easy_python_tests · 5,747#40
@ithumor · 60,231#41
@backend_it · 18,801#42
@BackendPortal · 16,405#43
@uneed_it · 2,875#44
@Python_Community_ru · 11,543#45
@django_prog · 1,275#46
@progersbooks · 8,165#47
@machinelearning_interview · 30,562#48
@p_rabota · 4,896#49
@ML_secrets · 7,385#50
@seniorjavist · 20,506#51
@proglibrary · 77,922#52
@PythonTechCode · 4,164#53
@githubdevs · 4,776#54
@bkstorage · 6,603#55
@pythonboost · 10,726#56
@github · 155,111#57
@seniorsql · 14,237#58
@itmemes · 122,383#59
@pythontest_it · 21#60
@data_secrets · 95,257#61
@ai_machinelearning_big_data · 277,662#62
@xor_journal · 201,181#63
@codecamp · 178,603#64
@quiz_python · 6,886#65
@python_tasks · 8,473#66
@senior_front · 19,069#67
@habr_com · 133,496#68
@howdyho_official · 78,136#69
@t0digital · 28,600#70
@physics_lib · 146,880#71
@techno_media · 937,281#72
@devs_store · 11,698#73
@programmer_memes · 50,820#74
@ai_newz · 97,693#75
@Social_engineering · 124,933#76
@remedia · 677,840#77
@open_source_friend · 52,500#78
@bugfeature · 559,624#79
@tproger · 78,018#80
@netstalkerscom · 7,829#81
@pydevjob · 9,668#82
@bashdays · 23,621#83
@black_triangle_tg · 63,886#84
@Golang_google · 40,601#85
@nuancesprog · 56,141#86
@dvachannel · 972,361#87
@exploitex · 2,009,487#88
@whackdoor · 1,560,723#89
@pekagame · 1,122,111#90
@rozetked · 655,057#91
@d_code · 405,439#92
Read from Telegram’s recommendation API, most recently 30 August 2026. Telegram holds a list like this for a small and growing share of the register — how this is measured, and why most channel pages show nothing here.
Appears in Telegram’s recommendations for other channels
The reverse of the list above, and a different kind of signal. This does not require this channel to have ever been asked about directly — each row below is a channel we DID ask Telegram about, whose Telegram-generated list happened to include this one. A channel can appear here with an empty list above it, because being named by someone else’s query is independent of having been queried itself.
@python_academy · 44,005
Telegram ranks this channel #1 of 87 here — alongside 86 others — read 28 August 2026
@Python_per_month · 28,026
Telegram ranks this channel #2 of 86 here — alongside 85 others — read 9 September 2026
@osint_pythons · 36,484
Telegram ranks this channel #2 of 84 here — alongside 83 others — read 1 September 2026
@trendo · 67,007
Telegram ranks this channel #2 of 90 here — alongside 89 others — read 20 August 2026
@pythonist24 · 55,495
Telegram ranks this channel #3 of 88 here — alongside 87 others — read 23 August 2026
@python_piton_javascript · 124,850
Telegram ranks this channel #4 of 84 here — alongside 83 others — read 13 August 2026
@zen_of_python · 18,755
Telegram ranks this channel #6 of 91 here — alongside 90 others — read 5 October 2026
@python2day · 63,553
Telegram ranks this channel #7 of 91 here — alongside 90 others — read 21 August 2026
@pythonbooks · 38,438
Telegram ranks this channel #9 of 65 here — alongside 64 others — read 17 September 2026
@pythonist_ru · 23,941
Telegram ranks this channel #9 of 82 here — alongside 81 others — read 17 September 2026
@job_python · 23,325
Telegram ranks this channel #10 of 96 here — alongside 95 others — read 19 September 2026
@pyproglib · 37,124
Telegram ranks this channel #15 of 84 here — alongside 83 others — read 1 September 2026
@python_secrets · 40,494
Telegram ranks this channel #15 of 82 here — alongside 81 others — read 30 August 2026
@pygen_ru · 50,181
Telegram ranks this channel #17 of 93 here — alongside 92 others — read 25 August 2026
@procode404 · 40,255
Telegram ranks this channel #20 of 83 here — alongside 82 others — read 30 August 2026
@pythonl · 58,611
Telegram ranks this channel #20 of 84 here — alongside 83 others — read 22 August 2026
@python_tg · 21,117
Telegram ranks this channel #21 of 85 here — alongside 84 others — read 25 September 2026
@PythonPortal · 51,122
Telegram ranks this channel #21 of 80 here — alongside 79 others — read 25 August 2026
@artemshumeiko · 19,880
Telegram ranks this channel #24 of 92 here — alongside 91 others — read 29 September 2026
@python_job_interview · 24,955
Telegram ranks this channel #25 of 90 here — alongside 89 others — read 15 September 2026
@backend_it · 18,801
Telegram ranks this channel #30 of 73 here — alongside 72 others — read 4 October 2026
@seniorjavist · 20,506
Telegram ranks this channel #33 of 89 here — alongside 88 others — read 26 September 2026
@developer_shelf · 26,773
Telegram ranks this channel #39 of 63 here — alongside 62 others — read 11 September 2026
@knijnoe_xranilishe · 19,552
Telegram ranks this channel #41 of 73 here — alongside 72 others — read 30 September 2026
This channel appears in 36 seed channels' Telegram-generated recommendation lists in total, of which the 24 where it ranks highest are shown above. Each is Telegram’s list for THAT channel, not this one — see how this is measured.
Cite this entry
A live page changes as we take new readings, so a citation should name the measurement it is based on, not just the URL. The line below cites the subscriber count as measured 23 October 2026 — this entry's latest reading, not the date you are reading this.
“Senior Python Developer” (@seniorpy), 39,437 subscribers as measured 23 October 2026. Telegram Register, tgregister.com/channel/seniorpy.
Full measurement history, CC BY 4.0. Every reading this register holds for this entry, not just the latest one, as a dated, downloadable record: CSV · JSON. Free to use with attribution to tgregister.com. Each file carries its own generation timestamp, which is the figure to cite for exactly when the data was retrieved.