TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4675 753
Развёрнутое пояснение

1️⃣Генератор 𝚐 создаёт последовательность из двух элементов: 𝟶 и 𝟷.

2️⃣Первый 𝚗𝚎𝚡𝚝(𝚐, "𝚎𝚖𝚙𝚝𝚢") извлекает 𝟶, переменная 𝚊 = 𝟶.

3️⃣Второй 𝚗𝚎𝚡𝚝(𝚐, "𝚎𝚖𝚙𝚝𝚢") извлекает 𝟷, переменная 𝚋 = 𝟷.

4️⃣Третий вызов 𝚗𝚎𝚡𝚝(𝚐, "𝚎𝚖𝚙𝚝𝚢"): генератор исчерпан, но передан второй аргумент — default-значение. Вместо исключения StopIteration возвращается "𝚎𝚖𝚙𝚝𝚢", переменная 𝚌 = "𝚎𝚖𝚙𝚝𝚢".

5️⃣Если бы был просто 𝚗𝚎𝚡𝚝(𝚐) без второго аргумента, выбросилось бы StopIteration.

Почему это важно
Это полезный паттерн для безопасной работы с итераторами неизвестной длины: 𝚗𝚎𝚡𝚝(𝚒𝚝𝚎𝚛𝚊𝚝𝚘𝚛, 𝙽𝚘𝚗𝚎) или 𝚗𝚎𝚡𝚝(𝚒𝚝𝚎𝚛𝚊𝚝𝚘𝚛, 𝚍𝚎𝚏𝚊𝚞𝚕𝚝_𝚟𝚊𝚕𝚞𝚎) позволяет избежать обработки исключений.
  • ✍ 3
More from @quiz_python
  1. Sep 21, 2026Развёрнутое пояснение: 1. make_handlers создаёт пустой список handlers. 2. Цикл дважды при…
  2. Sep 21, 2026Post #4880
  3. Sep 21, 2026Развёрнутое пояснение: 1. Вызывается persist_order, и блок try печатает строку write. 2. И…
  4. Sep 21, 2026Post #4878
  5. Sep 14, 2026А вы уже забрали свой подарок ко Дню программиста? Мы в Tproger вместе с нашими друзьями с…
  6. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся список batch с двумя разными словарями. 2. Вызов enric…
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 →