In this article a list of useful Python resources to boost up your skills. It goes without saying that the best way to get better in Python is to read and write a lot of code. However these resources can definitely help fill in the knowledge gaps.
The Python Tutorial: official, quick-start tour to the language, introduces the standard library.
Head first Python, 2nd ed: detailed explanation of the language, lot of practical examples and as head first provides a lot of visual aid.
Jessica McKellar's Introduction to Python and Intermediate Python Programming are awesome. I recommended these videos to a new Pythonista at work and he already thanked me: clear, concise, fun and practical examples, for him the concepts really started to make sense watching these videos.
Michael Kennedy has a growing set of awesome trainings: Write Pythonic Code Like a Seasoned Developer teaches you a lot of Python features and more importantly how to write Pythonic code. See our review, for us it's kind of the manual we wish we'd had when we started! To learn by building cool projects, check out his Python Jumpstart by Building 10 Apps.
Dive into Python: this is another excellent introduction.
Learn Python the Hard Way takes another approach by having your hands at the keyboard, working through progressively more difficult code examples.
The Hitchhiker's guide to Python: this is a great work, it teaches Python best practices, comunnity tools, and is quite unique in that it teaches by looking at the source code of top-notch open source projects.
Fluent Python: on to become a classic. This is one of the best Python books out there. This gem has so much knowledge, best practices, and deep understanding of Python embedded. I read it last summer (somebody at PyData recommended it to me) and it is THE book that got me to the next level.
Effective Python: 59 Specific Ways to Write Better Python: I like the effective series for its recipe format. Very knowledgeable author, this book teaches you how to write Pythonic code.
Core Python Applications Programming: teaches concepts through real-world applications. Lot of code, covers a lot: Google App Engine, APIs, Database / web programming, even MS office programming.
The hacker's guide to Python: I bought this ebook last week after being impressed reading the free functional programming chapter, not done yet, but already found some great insights, not easily found in other resources.
Powerful Python: good tutorial on advanced concepts like decorators, OOP design patterns, automated testing. The accompanying video shows you how to make a RESTful API using TDD, very interesting / useful.
For an understanding of algorithms I recommend Grokking algorithms we detailed here. Another resource is Problem Solving with Algorithms and Data Structures using Python.
If you want to learn Flask and Django, and Python web development and database programming in general, check out Real Python's great courses.
Python progression path - From apprentice to guru SO thread contains some useful advice as well.
The mentioned Hitchhiker's guide has a good resources list.
Full Stack Python's Best Python Resources.
Pixelmonkey's article: The 3 Best Python Books for Your Team.
I know what you are saying, and I had the same feeling writing this article: there are just too many resources. Again, writing code is the best way to get better so the best advice I can give you is to pick up one of the resources, read some, start coding. Read some more, try new things you learn in your code. Repeat.
>>> import itertools >>> import time >>> for action in itertools.cycle(['read some more', 'code some more']): ... print(action) ... time.sleep(1) ... read some more code some more read some more code some more
I hope this list is useful. Feel free to use the comments below to share other resources that made you a better Python programmer.
Wow amazed at the amount of upvotes / comments on Reddit, thanks for your support. I am adding some suggestions made in the commens:
Youtube channel: sentdex, lot of good Python learning, Django was specially mentioned.
I replied another question about web scraping with some resources.
Keep Calm and Code in Python!