TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4276 679
Перемещение счетчика в общую глобальную область видимости, чтобы сделать возможным его изменение, также означает, что он будет разделяться всеми внутренними функциями. В отличие от атрибутов экземпляров классов глобальные счетчики относятся ко всей программе, а не к каждой функции — счетчик инкрементируется для вызова любой отслеживаемой функции.

Это демонстрирует разницу между использованием глобальных переменных и атрибутов экземпляров классов в декораторах. Глобальная переменная создает общий счетчик для всех декорированных функций, а не отдельный счетчик для каждой функции.

Глобальная переменная 𝚌𝚊𝚕𝚕𝚜 является общей для всех декорированных функций, поэтому счетчик инкрементируется при каждом вызове любой из декорированных функций.

Последовательность выполнения:

🔘 𝚜𝚙𝚊𝚖(𝟷, 𝟸, 𝟹) − 𝚌𝚊𝚕𝚕𝚜 становится 𝟷, выводится «𝚌𝚊𝚕𝚕 𝟷 𝚝𝚘 𝚜𝚙𝚊𝚖», затем 𝟼
🔘 𝚜𝚙𝚊𝚖(𝚊=𝟺, 𝚋=𝟻, 𝚌=𝟼) − 𝚌𝚊𝚕𝚕𝚜 становится 𝟸, выводится «𝚌𝚊𝚕𝚕 𝟸 𝚝𝚘 𝚜𝚙𝚊𝚖», затем 𝟷𝟻
🔘 𝚎𝚐𝚐𝚜(𝟸, 𝟷𝟼) − 𝚌𝚊𝚕𝚕𝚜 становится 𝟹, выводится «𝚌𝚊𝚕𝚕 𝟹 𝚝𝚘 𝚎𝚐𝚐𝚜», затем 𝟼𝟻𝟻𝟹𝟼
🔘 𝚎𝚐𝚐𝚜(𝟺, 𝚢=𝟺) − 𝚌𝚊𝚕𝚕𝚜 становится 𝟺, выводится «𝚌𝚊𝚕𝚕 𝟺 𝚝𝚘 𝚎𝚐𝚐𝚜», затем 𝟸𝟻𝟼
  • 👍 2
  • ❤ 1
  • 👎 1
More from @quiz_python
  1. Sep 25, 2026Развёрнутое пояснение: 1. defaultdict(int) создаёт словарь, в котором фабрика int возвраща…
  2. Sep 25, 2026Post #4896
  3. Sep 25, 2026Развёрнутое пояснение: 1. Создаётся контекстная переменная request_id без значения по умол…
  4. Sep 25, 2026Post #4894
  5. Sep 24, 2026Развёрнутое пояснение: 1. Для класса Client строится порядок разрешения методов: Client, A…
  6. Sep 24, 2026Post #4892
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 →