Logo
TGCATALOG
Catalog Collections Blog
Code on a Napkin - Python coding

Code on a Napkin - Python coding

Channel about programming in Python and other languages. Simple explanations and codes.

No ratings
317
26.10.2026
317
26.10.2026
No ratings
317
26.10.2026
Safe redirect via bot
О канале

Channel about programming in Python and other languages. Simple explanations and codes.

Подписчиков 2,347
Тематика Technology
Язык English
Ссылка t.me/napkincode

We also recommend

Kekaton AI | Voiceover and voice clone
Kekaton AI | Voiceover and voice clone
Bot

AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.

Description

Resource for those interested in programming. Focus on Python, but covers other topics as well. Simple examples and breakdowns.

Latest posts

Code on a Napkin - Python coding
Code on a Napkin - Python coding
🔒Открыть пост
и посмотреть медиа
Знаете ли вы, что __getattr__ вызывается не при каждом обращении к атрибуту? Сначала Python ищет атрибут обычным путем – в __dict__ инстанса, в классе, дальше по наследованию, вызывая дескрипторы если они попались. __getattr__ в этом поиске не участвует – он вызывается только тогда, когда поиск ничего не нашел и все идет к AttributeError. class User: role = "admin" def __getattr__(self, name): return f"нет такого атрибута: {name}" u = User() print(u.role) # admin – найден обычным поиском, __getattr__ молчит print(u.missing) # нет такого атрибута: missing – поиск провалился role лежит в User.__dict__, поиск заканчивается там же – __getattr__ до вызова не доходит. А вот missing не нашелся нигде, и вместо AttributeError Python вызывает __getattr__. Перехватывать вообще все обращения умеет другой метод – __getattribute__. Он вызывается первым, до всякого поиска по __dict__, и поиск делает уже он сам: class Loud: role = "admin" def __getattribute__(self, name): print(f"обращение: {name}") return super().__getattribute__(name) l = Loud() print(l.role) # обращение: role # admin super().__getattribute__(name) и есть тот самый штатный поиск по цепочке. Если его не вызвать, а вернуть что-то свое, объект перестанет отдавать даже собственные атрибуты. Отсюда и главный риск: обращение к self.anything внутри __getattribute__ снова вызовет __getattribute__, и получится бесконечная рекурсия. На __getattr__ строятся прокси-объекты – обертки, которые делают вид, что они и есть обернутый объект: class Proxy: def __init__(self, target): self._target = target def __getattr__(self, name): print(f"проксируется: {name}") return getattr(self._target, name) class Service: def ping(self): return "pong" p = Proxy(Service()) print(p.ping()) # проксируется: ping # pong print(p._target) # ping в Proxy не определен, поиск проваливается, срабатывает __getattr__ – и обращение уходит на Service. При этом _target лежит в __dict__ инстанса, ищется обычным поиском, и __getattr__ для него не будет вызван. Поэтому рекурсии нет: прокси на __getattr__ пишется без ухищрений, чего не скажешь про __getattribute__. __getattribute__ перехватывает каждое обращение, __getattr__ – только промахи. Для оберток и ленивой подгрузки почти всегда нужен второй. Код на салфетке x Кусочки кода
Code on a Napkin - Python coding
FAQ

Open Code on a Napkin - Python coding in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Code on a Napkin - Python coding directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Code on a Napkin - Python coding.

The exact features depend on the resource. Open Code on a Napkin - Python coding to see its current functions, content and access conditions.
Subscriber dynamics
+-0.4% last 30 days
Current
2,347
Month ago
2,356
Average growth
+0 / day
Updated
30 minutes ago

Reviews for channel Code on a Napkin - Python coding

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login