- Generators are lazy evaluated functions. Which means all the elements of the generator are not loaded into memory they are only created/ evaluated when required.
- Similar to Python Comprehension, generator expression can also be created. They are not surrounded by any brackets or curly braces but they can be optionally surrounded by parenthesis