TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4198 796
Марк Лутц, «Изучаем Python», том 2, гл. 32:

«При продумывании смысла имен в коде, основанном на классах, полезно помнить о том, что классы в точности как функции вводят локальные области видимости, а методы являются просто более вложенными функциями. В следующем примере функция generate возвращает экземпляр вложенного класса Spam. Внутри своего кода имя класса Spam присваивается в локальной области видимости функции generate и потому оно доступно любой вложенной функции, включая код в method; это соответствует букве Е в правиле LEGB:

def generate():
class Spam: # Spam - имя в локальной области видимости generate
count = 1
def method(self):
print(Spam.count) # Согласно правилу LEGB (E) доступно в области видимости generate
return Spam()

generate().method()

... локальные области видимости всех операторов def объемлющих функций автоматически видны вложенным def».
  • 👍 3
  • 👎 1
More from @quiz_python
  1. Sep 26, 2026Развёрнутое пояснение: 1. deque создаёт очередь из a и b с максимальной длиной 3. 2. appen…
  2. Sep 26, 2026Post #4898
  3. Sep 25, 2026Развёрнутое пояснение: 1. defaultdict(int) создаёт словарь, в котором фабрика int возвраща…
  4. Sep 25, 2026Post #4896
  5. Sep 25, 2026Развёрнутое пояснение: 1. Создаётся контекстная переменная request_id без значения по умол…
  6. Sep 25, 2026Post #4894
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →