earn the White PyBites Ninja earn the Yellow PyBites Ninja earn the Orange PyBites Ninja right arrow earn more PyBites Ninja belts and certificates
The best way to learn to code in Python is to actually use the language.

Our platform offers effective Test Driven Learning which will be key to your progress.

Join thousands of Pythonistas and start coding!

Join us on our PyBites Platform
Click here to code!

From beginner to pro: Python books, videos and resources

Posted by PyBites on Tue 07 February 2017 in Books • 4 min read

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.

To get started

Fundamentals done, get better

  • 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.

  • Two Packt books that I read parts of and explain more advanced topics very well: Mastering Python and Expert Python Programming, 2nd ed.

  • For reference works check out Python cookbook and Python in a nutshell.

Other resources

Lists from other Pythonistas

Pff ...

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.

Update: additions after Reddit

Wow amazed at the amount of upvotes / comments on Reddit, thanks for your support. I am adding some suggestions made in the commens:

Keep Calm and Code in Python!

-- Bob

See an error in this post? Please submit a pull request on Github.