Yes. You can definitely learn Python on your own. Learning a programming language is all about determination and practice. Like learning any language, you need the experience to speak it fluently, but with a programming language, you can start creating programs way before you’ve memorized every nuance.
In this blog, we’re going to explore the best ways to gain that experience and learn Python.
What’s Python best at?
As one of the most versatile languages, and the most popular language with recruiters, you’ll see Python in video games, backend systems, user interfaces, and much more. It’s also one of the easiest languages to read and understand, even for a complete newcomer, which means it’s a good starting point for aspiring software developers.
Lastly, it’s particularly useful in fields like artificial intelligence and natural language processing, as it has a vast horde of libraries behind it with everything you could possibly need.
It’s not without its pitfalls, though. Speed can often be a problem and it struggles when it comes to mobile development. Despite this, it’s still the most popular and in-demand language out there.
Start with the official beginner’s guide
Everything you could possibly want to know is on the official Python wiki. There’s a particularly helpful Python beginner’s guide that’ll walk you through your first steps, from downloading the necessary software to creating your first program. Even if you’ve never coded before, there are tutorials you can follow to get to grips with the basics of the language.
The site can look a little intimidating at first – and it’s quite difficult to navigate – but with a little digging and backtracking, most of the materials you need will be there.
Read through a few books
If you’re looking for a bit more of a straightforward route, the best way is to follow a book through the language. We recommend reading and following more than one, just to really cement the language in your memory. You’ll cover a lot of the same ground, but that practice will be invaluable later down the line.
Here are three to get started with:
- Python Crash Course by Eric Matthes – One of the top books on the subject. The first half covers general programming principles that you’ll need to know, while through the second half you’ll make a game similar to Space Invaders, along with other simple programs.
- Learn Python 3 the Hard Way by Zed Shaw – Don’t let the title put you off. The idea behind this is to get you to type the code yourself, without copy and pasting. That’s what Zed means by ‘the hard way.’ You need to build the muscle memory by actually writing the code yourself.
- Python for Dummies – The Dummies series is always a good source for beginners. Whether you’re a complete newbie or already know a programming language, you’ll likely learn something new from this book.
Walking through all three books will let you practice by actually creating programs on your own. But it’ll also show you the different ways programmers approach similar problems, and how they solve them. Seeing those different styles will make sure you don’t get stuck in any particular bad habits.
Watch a few video tutorials
Not everybody learns best by reading materials. So if you prefer to watch, listen and practice along with someone, there are a few video tutorials on YouTube that can help.
- Learn Python Full Course for Beginners – This four-hour long video starts at the basics, with learning variables and data types, and continues all the way to building your own quiz.
- Python Tutorial – Python for Beginners – Six hours of training covering all you need to know and then delving into three separate projects: automation, machine learning and web development.
Whether you start here – or jump straight to the projects they offer – these videos are short enough to complete over a weekend or two. A small commitment to see if Python is the right language for you, but comprehensive enough to get you on the right track.
Challenge yourself online
There are plenty of resources and websites online that you can get for free. Here are the most useful on your journey to becoming a software developer.
- Codecademy – Filled with modules from how to build chatbots with Python to data visualization, so you can focus on learning how to use Python in practical scenarios.
- CheckiO – Try out your new-found skills and work through these challenges and games to solve problems.
- The Python Challenge – Using a little bit of Python know-how, you can solve this series of riddles and find the next step. The essential point is to use Python to figure out what the next URL should be.
- Edabit – The challenges on Edabit vary from converting minutes into seconds to fixing buggy code. They’re relatively small challenges that you’ll come across whenever you’re coding.
- Python Principles – Likewise, there are a few challenges on Python Principles that you can work on, even on mobile.
Work on a project
Once you’re armed with enough knowledge to feel comfortable writing basic programs, it’s time to start challenging yourself to solve problems. There are obvious projects that you can start working on: build a calculator, create a Hangman-style game, or make a script that counts the words in a document.
Running through a project like this will get you to the point where you feel confident working on real-world problems. If you run out of ideas, you can find inspiration online:
- Real Python – Not only can you learn Python on this site, but there’s a decent list of projects to work on, like creating a Discord bot or an MP3 player with a graphical user interface (GUI).
- Exercism – Convert a long-phrase to an acronym, create a basic clock or make a minesweeper-like game. There are plenty of project ideas here to get you started.
Go on a bootcamp
Learning a language on your own is perfectly possible. In fact, we recommend dabbling in a few languages for a while, until you settle on the one you prefer. But you always run the risk of learning bad habits and could be writing inefficient or buggy code.
Getting feedback on your code and having a mentor to guide you along your journey is always going to make you a better programmer in the long run. So we recommend joining a bootcamp, once you’ve decided which language you’re going to use. If you join ours, you’ll have a teacher alongside you as you learn three full stacks. Visit Coding Dojo to see our curriculum.