Useful resources for learning Python and web development

Feb. 13, 2021 • Django, Python
Cover

Today I am launching my personal blog, where I will be writing about Python, web development and related topics. Guess what - I don't have a computer science degree. That's why I'm all the more proud that I built this site from scratch using the Django web framework. The past three years of learning Python and web development have been an amazing journey for me!

In this post I would like to mention a few resources that I found particularly useful. If you want to get into programming or improve your skills, definitely check them out!

Getting Started with Python

If you've never done any programming before, I can recommend the book Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code by Zed A. Shaw. It takes you all the way from installing Python on your machine and writing your first 'hello world' to implementing a fully functional web application. It's also got a chapter about how to use the command line, which you will have to learn if you're serious about becoming a programmer.

Have you done a little bit of programming already, e.g. in different language, and you just want a quick introduction to Python? In this case I can recommend the Learn Python with Socratica playlist on Youtube. In a series of short videos it explain the cores concepts and also provides good examples. If you take the time to code along with the videos, at the end of the series you will have a your own library of code snippets that you can refer to later. Whenever there is a code challenge, make sure to stop the video and try to solve the problem yourself before continuing :)

Level Up

Once you are familiar with the basics, it's all about practice. But where to start? There has been a flood of python material online in recent years and it can be hard to figure out what's helpful and what's not.

A great way to put some of your programming knowledge into practice is to use Python to Automate the Boring Stuff. If you spend a lot of time in your job doing repetitive tasks in MS Word, sending personalized emails around or need to gather information from the web and put them in a spreadsheet report every week, the methods described in this book will save you a ton of time and free you up to focus on the more interesting parts of your job. And the best thing - the PDF is available for free!

Another way to learn about Python is to listen to Podcasts. I can highly recommend TalkPython by Michael Kennedy. With each episode you will get a better understanding of what's going on in different areas like web development, data science and others. There are already a couple of hundred episodes out there and it's definitely worth checking out the older episodes as well.

If you want to stay up to date with whats going on in the Python space at the moment, check out PythonBytes by Michael Kennedy and Brian Okken.

Web Development

If you're looking for a comprehensive introduction into web development, I can highly recommend Miguel Grinberg's excellent Flask Mega Tutorial. In this series you will be building a fully functional Twitter clone from scratch. It covers fundamental topics like databases, form handling, source control, testing, etc. and goes on to more advanced topics like deployment, AJAX and RESTful APIs.

When it comes to web development, there are just so many bits and pieces that have to work together. One book that brings everything together and explains them step-by-step is Django for Beginners by Will Vincent. It helped me to get through the process of deploying a Django app in production :) Thanks for that, Vincent!

There are many blogs about Python and web development out there. Here are some that I have found useful:

Conclusion

Python is both easy to learn and very powerful once you gain more experience. One of the many great things is the amazing community and the abundance of great resources, many of them freely available.

Now it's up to you and me to pursue our own learning journey. Or - in the words of Michael Kennedy (host of TalkPython):

Now get out there and write some Python!


Recent posts