Веб-версияОткрыть в Telegram

ПостНе запуская код определите, что покажет терминал если выполнить следующее:

26 января 2026
P
Python Заметки
Не запуская код определите, что покажет терминал если выполнить следующее: _A__b = 'c' class A: def get(self): return __b print(A().get()) Ответ: Несмотря на то, что ваш IDE покажет ошибку, ошибки не будет. Распечатается "c" Объяснение: 1. Mangling За это отвечает механизм mangling - искажение имени. Так работают приватные атрибуты классов. При создании атрибута по правилу: минимум 2 "_" в начале и максимум 1 "_" в конце" имя автоматически становится вида _{classname}{attr} В нашем случае атрибутов класса не создается, но это не отменяет Mangling при обращении к другим объектам внутри класса. 2. Обращение к атрибуту Когда внутри класса происходит обращение к любому объекту с именем по указанному выше правилу, его имя на уровне байт кода также преобразуется. 3. Поиск Далее происходит поиск такой переменной по неймспейсам в порядке LEGB - Local, Enclosing, Global, Built-in. И не трудно догадаться что мы находим нужный атрибут в Global, В итоге получаем результат! Проверить можно так: import dis dis.dis(A.get) # 4 RESUME 0 # # 5 LOAD_GLOBAL 0 (_A__b) # RETURN_VALUE Либо удалите переменную _A__b и запустите еще раз, поулчите ошибку: NameError: name '_A__b' is not defined Как думаете, это норма или баг? #tricks
9 · 1.1K ·

Рядом в ленте

PPython Заметкиimport mimetypes mimetypes.guess_type("example.fbx") # (None, None) Формат не распознан, так как не зарегистрирован в системе. Регистрация происходит с помощью PPython ЗаметкиВсе знают синтаксический сахар с операторами +=, -= и тд x += 1 Где под капотом он превращается в x = x + 1 Останется ли переменная х той же переменной после +=
это сообщение
PPython ЗаметкиВ Gunicorn добавили ASGI. Пока что beta. gunicorn myapp:app --worker-class asgi То есть теперь вместо "gunicorn воркеры + uvicorn ранеры" будет всё из одной бибPPython ЗаметкиПотоковая обработка часто встречается при работе с большими файлами или когда данные приходят частями. В Python есть множество инструментов для работы с такими

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем