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