Eight Essential Resources for the Beginner Python Programmer
Python is one of the most popular programming languages in the world, and with good reason. It has a rare mix of elegant and easy-to-grok syntax with real power and versatility. Python is simple, beautiful, flexible, highly extensible, and exceptionally well-documented; it’s no wonder it’s such a core part of the IT ecosystem.
Today we’ll be going over some of the best resources for self-teaching Python developers to go from 0 to 100 without breaking the bank. Estimated time to read is a ballpark, prices are in AUD, difficulty is assuming you’ve never programmed a day before in your life.
But hey, you’re new to Python, right? That’s why you’re looking for beginners’ resources. Don’t worry, we’ll have you programming in no time.
A little underrated these days, in my opinion; there’s nothing quite so good as a good book. Obviously longer reads, but tend to be better for beginners since they can (and do) go in-depth on the issues that most online tutorials skip over.
Automate the Boring Stuff With Python
Format: online ebook/print paperback
Time to read: 4-5 days
Al Sweigart’s 2015 book is one of the most highly-recommended guides for absolute beginners. It’s available for free on a Creative Commons license, though you can kick a couple of bucks his way if you liked it. Sweigart generally writes guides for kids and, though this is a guide for adults, he has a certain way of explaining complex concepts in a way that’s both entertaining and easy to understand. It’s fun, free, and comprehensive. What’s not to love?
Python Crash Course: A Hands-On, Project-Based Introduction to Programming
Format: kindle ebook/print paperback
Price: $25 (kindle edition), $30 (paperback)
Time to read: 1 week
A little bit more challenging but still very much designed with beginners in mind, Eric Matthes’ book will get you programming almost immediately. For those who prefer a more hands-on approach, this is your go-to.
Books? Pfah! I want to write code now! Alrighty then, here we go. If this isn’t your first programming language and you just want to dive into the docs already, here’s what you need. Not totally inaccessible for beginners, but preferably you’ve at least looked at HTML/CSS before you come in at this level.
The Official Tutorial
Time to read: 2-3 hours
Remember when I said Python had good documentation? Well, that documentation contains tutorials for new developers. They’re excellent if you’re a developer moving into a new language, though potentially on the complex side if you’re starting absolutely from scratch.
Learn X in Y Minutes (Where X is Python)
Time to read: 15 mins
A free, short-but-comprehensive guide. If you’re a little more bold and want to skip right to the programming part, this is probably your first stop. Learn X in Y Minutes have a large number of tutorials, but their Python page is especially highly-regarded in the community.
If you prefer more structure, you can enroll in formal courses online. This is one of the more common routes for professional developers, and tends to have a lot more support in place if you run into trouble. They also tend to be a little bit more expensive and time-consuming, but they’ve got a proven track record.
Price: free (podcast), $49–69 (courses, one-time payment)
Time to read: 15 mins
If you’re a more audiovisual learner, TalkPython have video courses and an excellent podcast. The podcast is free, and the video courses come in packages that tend to cost about $5–10 per hour of content. They also have livechat with teachers if you get stuck. It’s a fairly structured approach to learning, closer to a classroom or university course than a lot of the options on this list. If you’re unsure, listen to a few episodes of the podcast and see how you feel.
Price: free, or $20–40/month for pro
Time to read: 1 month
They’ve been a bit slow on the uptake, but Codecademy finally put out a Python 3 module in November 2018. It’s currently only available for pro accounts, though if you were willing to throw a solid month at learning, you could easily blow through it in a month and set yourself up with a solid foundation.
Can’t I just ask someone? Sure can! Better than that, you can join a community of other people with a shared interest in learning Python. These are good places to go if you have a question you can’t find answered anywhere else, or just to hang out with other learners.
Time to read: ∞
There’s a subreddit for everything, and there’s at least five for Python. If you’re reading this guide, you probably want to check out r/learnpython first. It’s hard for me to definitively say what they’re going to be talking about on a given day (Reddit is Reddit, you know?) but they’re a helpful, intelligent community of Python developers, many of whom will be at a similar development stage to you.
Time to read: ∞
If you’ve learnt any other language, you’ll be more than familiar with SO. It’s almost a running joke among developers at this point: I don’t write good code, I just look for it on Stack Overflow. There’s an answer to almost any question you can think of, for almost any language you can think of, and Python is no exception. Stack Overflow is populated by a lot of seasoned developers and you can get very good advice, but it often comes in at a pretty high level.
If you’re ready to move on to the next step, you might want to take a look at Tips For Software Developers Seeking Employment. If you’re looking for a Job working with Python, check out some of the opportunities at companies CodeClouds, 920.co.nz, and Unicorn Factory.