@Phys_Math_Man

Как работает замыкание в python?

Я знаю, что после вызова функции func, перед началом формирования локального пространства имен создается определенное число экземпляров класса 'cell', равное числу len(func.__code__.co_cellvars). Далее, по ходу привязки локальных имен этим cell-объектам назначается атрибут cell_contents, который привязывается к тому же объекту, к которому и локальное имя. Я бы хотел узнать подробно, как работает этот механизм - т. е., куда изначально "складываются" эти экземпляры 'cell', как интерпретатор потом с ними работает.
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Мне кажется, это деталь реализации, а потому тут надо в исходники лезть. Например, для CPython можно начать с codeobject.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы