Conceptual Python for Java Developers: From Streams to Tensors
Part 5: "The Lazy River" — Iterators, Generators and Context Managers
A 40 GB transaction export will not fit in memory. The iterator protocol, generators and yield, lazy generator pipelines, itertools, exceptions and EAFP, pathlib and csv, and with-statements as Python's try-with-resources.