The Wizardry of Metaprogramming
For those familiar with Python you may think you're comfortable with classes and types. But does "__init__" really create new objects? How can you construct classes dynamically without even using the "class" keyword? What is the type of "type"? What alternative patterns are there for invoking functions? And how does any of this work?
In this introduction to Metaprogramming we will learn how it can be leveraged to achieve some Python "magic". You will pick up some techniques and practices you can use yourself and will get an insight into how Django uses Metaprogramming in its ORM as a real-world example of its use. Hopefully you'll even learn a few new things about Python you didn't know were possible.
Mike is a full stack web developer that has been using Python with Django for the last 5 years and more recently has moved to a full time Python role. He has spent most of his career working for the public sector and the last year at Reposit Power using Python for just about everything. Passionate about open source and experimenting with new technology as it evolves.