As a language reference you could use something like that https://gto76.github.io/python-cheatsheet/ or another good book https://doughellmann.com/blog/the-python-3-standard-library-...
Here's an interview with the author in 2015 https://talkpython.fm/episodes/show/24/fluent-python
I started with Mark Lutz's Learning Python (http://shop.oreilly.com/product/9780596513986.do) about 10 years ago. In the meanwhile I've been an active contributor to large Python-based open source projects, e.g., Salt (https://github.com/saltstack/salt) which not only that it helped me get feedback from people with a tremendous experience, but also reading through the code taught me good practices and many good ways to solve various problems. A few months ago I started reading Luciano Ramalho's Fluent Python (http://shop.oreilly.com/product/0636920032519.do) which is just beautifully written and with a wide variety of topics for a deeper look inside Python internals.
* Already know a language - https://learnxinyminutes.com/docs/python3/ and https://docs.python.org/3/tutorial/
* In depth - Fluent Python (http://shop.oreilly.com/product/0636920032519.do)
* Pythonic way - https://gist.github.com/JeffPaine/6213790 and http://www.effectivepython.com/
* Practice - https://www.codewars.com/
For more links, see a list I made(https://github.com/learnbyexample/scripting_course/blob/mast...)
http://shop.oreilly.com/product/0636920032519.do
It's a bit pricey, but I managed to score it on a 50% sale, and I have to say I think it's a very good book for people already fluent in other programming languages.
Python for Data Analysis - http://shop.oreilly.com/product/0636920023784.do - I'm working on this one now.
Data Wrangling with Python - http://shop.oreilly.com/product/0636920032861.do
Fluent Python - http://shop.oreilly.com/product/0636920032519.do
Learning Predictive Analytics with Python - http://shop.oreilly.com/product/9781783983261.do
Data Visualization with Python and JavaScript - http://shop.oreilly.com/product/0636920037057.do
Thanks for any comments!
“[Metaclasses] are deeper magic than 99% of users should ever worry about. If you wonder whether you need them, you don’t (the people who actually need them know with certainty that they need them, and don’t need an explanation about why).”
Tim Peters, Inventor of the timsort algorithm and prolific Python contributor
https://www.oreilly.com/library/view/fluent-python/978149194...
https://en.m.wikipedia.org/wiki/Tim_Peters_(software_enginee...
I would then also concur with the other comment that if you “know” you need metaclasses, 99% of the time actually you only need __subclass_init__.
A lot of online literature about Python meta programming misses out __subclass_init__ as it was only added to Python 3.6 in 2015 via PEP 487.
https://peps.python.org/pep-0487/