This is the third in a series of posts on online learning resources for data science and programming.
Python is one of the most popular coding languages in the world right now; it is popular with developers, data scientists, and researchers, for work that includes big data, AI, machine learning, and more. Despite these complex uses, Python is also known as a language that is good for beginners. If you haven’t had success learning a different programming language, perhaps now is the time to try learning Python!
Below are some resources to help you get started and improve your skills with Python. As with other guides in this series, we’re focusing on resources that can be accessed for free by members of the Northwestern community, and we’re focusing on resources other than full-length online courses.
Getting Started
When it comes to learning a new skill, different people have different preferred methods of learning. With programming, new coders often try a few different methods before something finally sticks. One great way to learn Python is by attending a live workshop with a teacher who can include active learning strategies, answer individual questions, and adapt their teaching methods to the students in the room. However, there’s something to be said for learning at your own pace from the comfort of your own home.
Here are a few beginning tutorials with different styles:
All of these include their own instructions for downloading Python that you may want to use in order to follow along with the lessons. However, we recommend eventually using the Anaconda distribution of Python.
Learn Python – Full Course for Beginners
Mike Dane
With over 12 million views, this video tutorial is both relaxed and comprehensive. This video is great for people who like to hear and see the instructor, and it allows you to follow along with the code as the instructor is typing it on the screen.
Python for Biologists
Martin Jones
Originally distributed as a pdf, the author of this tutorial has made his materials available online. You have to pay to access the solutions to the exercises at the end of each lesson, but the tutorial itself is free. Designed specifically for biologists who work with genetic data, this tutorial is how I originally learned Python!
The official Python tutorial
Python.org delivers a no-nonsense, free, walk-through tutorial. This tutorial covers a lot of material, but if you want to learn how to write Python code in the most “pythonic” way possible, there’s no better place to start.
Python Crash Course
Eric Matthes
A book provides a lot more room to expand on the introductory material than a walk-through tutorial, and this book uses those extra pages to provide more entertaining exercises than the other options. I especially like how this book highlights common errors that you’ll see with each new skill. The book is available at the link above through the library.
Getting Better
Python code challenges – LinkedIn Learning
Barron Stone
Impractical Python Projects
Lee Vaughan
Two options for entertaining Python coding exercises. These games and story problems are fun because they challenge your creativity and problem-solving skills alongside your Python knowledge. If you’re looking for a way to practice Python but you don’t have any current projects from your own research, try out a few of these puzzles. In addition to practice, you might learn something new. If you haven’t already activated your free LinkedIn Learning subscription, go here.
Python for Programmers
Paul J. Deitel, Paul Deitel, Harvey Deitel
This book was designed to teach Python to coders who are already skilled in a different programming language, but it also has good advanced materials for those who are looking to expand their Python knowledge. Check out the chapters on numpy arrays, file handling, defining your own object classes, and more.
Python Data Science Handbook
Jake VanderPlas
This online tutorial explores the language “beyond normal Python”, covering topics necessary to data scientists: arrays, data manipulation, visualization, and machine learning.
Effective Python: 90 Specific Ways to Write Better Python
Brett Slatkin
This is an excellent book for anyone who has already been coding in Python for several years. While the author provides a lot of interpretation about what is and isn’t “pythonic” code, it also makes you think about why you choose one method over another and how you can write code that is faster to both write and run. Full of shortcuts and advice, this is a very dense book, so I recommend browsing the table of contents for topics that interest you.
Real Python
I hate to include a resource that isn’t always free, but the Real Python website does include some free, very easy-to-follow, short lessons on intermediate and advanced topics, including topics that are hard to find elsewhere. They also have free videos on YouTube that include Python tricks, answered viewer questions, advice, and general Python news and talk.
Stuck?
If you have a Python question, don’t know what resource to start with, or need to learn something not covered above, remember you can always request a free consultation with our data science consultants. We’re more than happy to answer questions and point you in the right direction.