Dark grey background image with an open book on the right-hand side and several colourful lines of code to the left. The Lighthouse Labs logo is in the top right-hand corner Anyone with even an inkling of knowledge of coding languages (or reptiles) has heard of Python, the technical version of which is, as described by python.org, “An interpreted, object-oriented, high-level programming language with dynamic semantics.” In other words, it’s a programming language used for application development, scripting, or glue language connecting elements (think redirect links). Python is worth learning for its readability, easier debugging, and the increased productivity it provides. Those looking to start with this star programming language may find it a bit overwhelming and not know where to begin. The good news is you can start learning Python by reading a few books. Those looking to get into reptile wrangling won’t find that here. However, if you want to get started on the coding side of things, we’ve laid out the best books to get committed beginners learning Python in as little as a month.

Python Crash Course, 2nd Edition, A Hands-On, Project-Based Introduction to Programming by Eric Matthews

Amy Mansell, one of our resident project managers, recommends this book (and not just because Python Crash Course is the world’s best-selling guide to the Python programming language). The book aims to get beginners up to speed so they can start writing as soon as possible. As you work through the book, you’ll learn libraries and tools like Pygame, Matplotlib, Plotly, and Django. You’ll also build 2D games, each a little more complex than the last, use data to generate interactive visualizations, create web apps and deploy them, and learn to solve your own programming errors.

Automate the Boring Stuff with Python by Al Sweigart

Caitlyn, one of our Learning Experience Designers, says this book is fun because you don’t get too stuck in big projects or theories. So if you’re ready to jump into Python 3, Caitlyn’s recommendation may be for you. You’ll get familiar with Python’s basics and explore modules for performing tasks like scraping data from websites, reading PDF and word documents, and automating clicking and typing tasks. If you snag a copy of the second version, you’ll learn some bonus tasks like automating Gmail and Google Sheets, automatically updating CSV files, and more.

Think Python by Allen B. Downey (bonus: it’s free!)

An introduction to Python programming for beginners, you’ll go over the basic programming concepts. The book is designed so that each term is clearly defined the first time it pops up so that new concepts are developed logically. Larger pieces, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. If broken down, easy-to-follow concepts are your style, this is one to add to the library.

Learn Python Quickly: A Complete Beginner’s Guide to Learning Python, Even If You’re New to Programming by CodeQuickly

This book gets you started by establishing solid foundational knowledge in Python. Once you’ve got the fundamentals down pat, you can move on to some of the more intermediate and advanced topics. Plus, the book breaks down these concepts into easy-to-understand pieces. An absolute win if you ask us.

Learning Python, 5th Edition by Mark Lutz

Based on the author’s training course, Learning Python gives a solid introduction to the core Python language. Even after becoming an expert coder, this helpful book teaches Python’s major built-in object types, such as numbers, lists, and dictionaries. Beyond that, more general programming lessons like decorators, descriptors, metaclasses, and Unicode processing are also covered for intermediate and advanced coders.

Python for Beginners: Learn Python Programming With No Coding Experience in 7 Days by Santos Ozoemena

While learning Python in a month of dedicated study is definitely possible, Ozoemena’s book takes it one step further, aiming to teach absolute beginners the coding language in just one week. Whether you’re into Python just for fun, to make your life a little more automated, or aiming for a tech career, the author lays out each concept, step by step, and the processes involved in learning Python.

Learn Python in One Day and Learn It Well (2nd Edition) by Jamie Chan

Even more ambitious than the last, this book offers another quick avenue to learn Python made for beginners with no experience. Written as easy, digestible tidbits of knowledge, it boasts a program at the end of the book where you can put your quick but well-earned skills to the test.

Put that knowledge to good use

Although these books come with great resources to help you on your quest to learn Python, other sites have been set up to guide both beginners and experts through the process as well. Real Python is full of helpful articles and has a large community of other “Pythonians” and experts who can answer your questions, help you in your coding misadventures, and give you life-saving tips when your code just won’t work. There are also various mini-assignments to build everything from chatbots to URL shorteners.

Data science professionals looking to add Python to their repertoire can access Data Camp. From introductory Python courses that cover lists, slicing and dicing, string and list methods, and NumPy to advanced skills like building a recommendation engine, DataCamp covers just about everything.

Also, Learn x in y is a quick and easy way to sharpen up your X and Y skills for Python or learn the skill from scratch. As the website name states, you’ll only need a few minutes to get this programming language under your belt.

Last, but certainly not least, Lighthouse Labs (the one and only) offers a free 30-hour Programming Essentials with Python Online Course where you’ll learn variables, strings, lists, looping, iterating, boolean logic, and flow control. Build up your foundational skills in probability and statistics, and learn how to build a calculator, a word game, and a math game using Python programming.

Some final tips

Speaking of Real Python, they give some helpful tricks to getting going and how to manage those stressful situations

Code every day

Consistency is king when it comes to nailing the coding game. Believe it or not, muscle memory is a key player when it comes to coding, so training your fingers and wrists to know where to go will help.

Take breaks

Stressing out about hitting your coding practice goals isn’t going to get you there any faster. Try the Pomodoro technique - work on one task for 25 minutes, followed by a 5 minute break. Rinse and repeat with either a new task, or continuing the same one. Either way, you’ll know what you need to focus on in the next 25 minutes without getting distracted or bogged down with all that needs to be done.

Learn to hunt down the bugs

Real Python has a lot of tips on this, but when it comes down to it, the best way to deal with those pesky bugs is to embrace them, and build a strategy on how to deal with them effectively.

Get in community!

Coding isn’t meant to be done alone. Find fellow beginners, Python aficionados, or get yourself a mentor.

Pair programming

Pair programming refers to two people working on the same project. You and the other developer switch between being the “driver” and the “navigator.” The “driver” writes the code, while the “navigator” helps by guiding the problem solving and reviewing the code. Make sure to switch roles to make the most of your experience. There are several benefits to this - not only does someone review your code, but you also get to see how someone else strategizes and goes about solving problems.

Contribute to an open-source project

In this model, source code is made public and anyone can work on it. Many companies will share their open-source projects meaning you can work alongside the programmers and engineers that wrote the source code. Project managers review your work and offer comments and suggestions. This allows you to develop both hard and soft skills, learning best practices and communicating with other coders. In the open-source model, software source code is available publicly, and anyone can collaborate.

Don’t be afraid to make mistakes

Starting programming may seem like a daunting task, but knowing that making mistakes is part of the learning process makes it a bit easier. No one succeeds on their first try, and the more you fail, the more you learn. So get out there and build something, even if it’s not great and use the above resources to guide you along.

Ready to take the next step in your career? Learn Python along with other skills in our data science bootcamp like data wrangling, data visualization, machine learning, and more in just 12 weeks.