How to Become an Expert in Python Programming?
Ever wondered? What it takes to be effective at python? It is pretty straight forward.
To be effective in python, or in any other programming languages, a certain understanding of a couple of core models of the language is must, right? And, understanding of some of the things that the language comes with like the built-in data types, built-in data structures, built in functions and standard libraries.
However, these article series are focused in next step. So, what does it take to be a little bit better than just effective? Or, what does it take to be an expert in python programming language?
So, without discussing anything trivial here, here are different core models or core concepts whose understanding is must to be effective, or let's say an expert, in python programming language.
Solid Understanding of How Python Works?
To be expert at python, first thing you need to know is solid understanding of how python works? Is python interpreted language? Or is it compiled language? Your answer would be "python is interpreted language" - right? That is half-correct! Python is compiled-interpreted language.
So, what does Compiled-Interpreted language really means? It basically means, first Python checks for program syntax. Compiles and converts it to bytecode and it loads bytecode in system's memory directly.
Solid Understanding of Dunder or Magic Methods
So, do you really understand what dunder or magic methods are in python?
Do you have solid understanding of special or data model methods like __init__(), __repr__(), __str__(), __del__(), __format__(), __bytes__(), __hash__(), ...
?
Do You Really Know the Use Case of Metaclasses?
Metaprogramming in python is done by using metaclasses. Metaclasses are object oriented programming (OOP) concept having an esoteric use cases.
Though, use of custom meta class has controversies in python, but, as an python expert, you should know what they are, right?
So, do you really understand what are metaclasses are in python? Do you have solid understanding on where, when & why to use metaclasses?
Read: Metaclasses in Detail.
Crystal Clear understanding of Decorators
A decorator function takes a function as an argument and returns a closure. Decorators are generally used for extending the behavior of a function.
So do you really know when & how to use them? What are the benefits of using them?