This is Part 1 of a series of courses intended to dive into the inner mechanics and more complicated aspects of Python 3.

This is not a beginner course!

If you've been coding Python for a week or a couple of months, you probably should keep writing Python for a bit more before tackling this series.

On the other hand, if you've been studying or programming in Python for a bit, and are now starting to ask yourself questions such as:

  • I wonder how this works?
  • is there another, more pythonic, way, of doing this?
  • what's a closure? is that the same as a lambda?
  • I know how to use a decorator someone else wrote, but how does it work? How do I write my own?
  • why do some boolean expressions not return a boolean value? How can I use that to my advantage?
  • how does the import mechanism in Python work, and why am I getting side effects?
  • and similar types of question...

then this course is for you.



What you'll learn

  • An in-depth look at variables, memory, namespaces and scopes
  • A deep dive into Python's memory management and optimizations
  • In-depth understanding and advanced usage of Python's numerical data types (Booleans, Integers, Floats, Decimals, Fractions, Complex Numbers)
  • Advanced Boolean expressions and operators
  • Advanced usage of callables including functions, lambdas and closures
  • Functional programming techniques such as map, reduce, filter, and partials
  • Create advanced decorators, including parametrized decorators, class decorators, and decorator classes
  • Advanced decorator applications such as memoization and single dispatch generic functions
  • Use and understand Python's complex Module and Package system
  • Idiomatic Python and best practices
  • Understand Python's compile-time and run-time and how this affects your code
  • Avoid common pitfalls
Apply for this course