Since I got my full time as a CMS developer about a year ago, I haven't really studied much Python. Once I got back into it, I realized I collected quite a bit of resources over time. It actually took a while for me to review what resources I have: some of them are too basic, some are not really relevant to what I want to do, and some are no longer available. Eventually, I narrowed down to this list of resources that I planned to use or is already using:
- Programming in Python3 by Mark Summerfield, when I wanted to use a book instead of staring at the screen. It is well-structured and in-depth. Note that this books stated that it is a tutorial and reference book intended for people with prior programming experience.
- Python Tricks by Dan Bader, which I got from a Humble Book Bundle. I have been reading one trick per night, on my lovely new Kobo Clara ereader in my bed before I go to sleep.
- Maybe later: Invent Your Own Computer Game with Python by Al Sweigart and Automate the Boring Stuff with Python by Al Sweigart, which I also got from the Humble Book Bundle. They are more for beginners - I had to skip to the middle of the book before I found any useful information for me - but they are interesting topics, so I plan to look more into them later. Great for newbies seeking more practical examples of Python usage.
- CS50's Introduction to Artificial Intelligence with Python by HarvardX hosted on edX: Part of my main use of Python is to practice algorithm and data structures. This course is targeted at AI, but it is actually quite good even if you are just looking to learn algorithm in Python. HarvardX also offer other Python courses that are prerequisite for this. If you are a beginner, I recommend trying the prerequisite first.
- Python Classes and Inheritance by University of Michigan hosted on Coursera: Wanted to brush up on my basic know-how on Python classes and inheritance. This is quite basic and not as advanced as the CS50 above, but this is still intended for people who already know basic Python. UM also provides other basic Python courses, so go for those if you are a total beginner.
- Real Python: Lot of up-to-date materials in multiple formats (posts, podcast, video, etc). Their lessons range from beginner to advanced. Though it is mainly a paid-membership site, a good number of materials are free, and they have opened more materials for free during Covid, so try them while you can! P.S. They are the creator of the Python Trick I just mentioned, and they had published multiple Python books.
- Decode Girl: YouTube channel focused on solving algorithm and data structure problem in Python. It's quite new - less than a year old - so there are only a few videos, but I like it so far.
- Python Morsels: A weekly exercise service by Trey Hunner, a well-known Python trainer I have followed for a long time. THe format is great for habit-building. The first 5 exercises are free. I think I may actually stick with this one, since the lite plan is only $5 each month, and I get 1 screencast each week - I watched his free screencast back when I first started following him, and let's just say there was a reason I continue to follow him!