TGViewer
Python Скрипты Python Скрипты @pythonscriptss · 2.9K subscribers
Post #21 3.06K
🖥 Хитрый способ изменить поведение цикла for — без изменения самого цикла

Можно ли сделать так, чтобы весь Python-код, использующий for x in ..., внезапно начал вести себя иначе — без изменения самого цикла?

Ответ: да, если переопределить поведение итератора. На экране показа — трюк, где обычный список «врет» в цикле и выдает неожиданные значения.

Трюк можно использовать и с dict, set и кастомными генераторами. Особенно удобно в юнит-тестах или визуализациях.


class FakeList(list):
def __iter__(self):
return iter(["test", "mock", "override"])

data = FakeList([1, 2, 3])
for x in data:
print(x) # выведет: test, mock, override


https://youtube.com/shorts/QhZtRx1ukoc?feature=share
  • 👎 4
More from @pythonscriptss
  1. Jun 10, 2026Python иногда может выглядеть как тёмная магия. Вот однострочный quicksort через lambda: q…
  2. May 27, 2026⚡️ Python в 2026 - это не теория, а навык, который можно сразу применять. Курс для тех, кт…
  3. May 26, 2026🐍 Python Roadmap 2026: наконец-то полноценная актуальная карта изучения Python, а не спис…
  4. May 16, 2026✔️ Machine Learning Roadmap: нормальная карта входа в ML без сказок про «выучить нейросети…
  5. Apr 26, 2026🚀 Browser Harness - это легкий инструмент, позволяющий LLM выполнять любые задачи в брауз…
  6. Apr 20, 2026Создание новой переменной в Python фактически означает создание нового имени для уже сущес…
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 →