This course is designed as a follow-on to the beginning course. We dive into more advanced topics of Python. 

We deep dive into functions and learn all about parameters and scoping. This empowers closures and decorators. Then we discuss laziness and how to be lazy in sequence processing. Our sequence processing wraps up with iteration, generators, and comprehension constructs. Finally, we combine much of the learning to discover how context managers work.

Along the way, we explore common “code smells” and how to deal with them using idiomatic Python. By the end of this course, you will have practice implementing all of the advanced features of Python that you come across in idiomatic code. 

Discusses:

  • Closures

  • Decorators

  • Comprehensions

  • Iteration

  • Generators

  • Generator Expressions

  • Context Managers