Python is one of the most popular programming languages on the planet. It's embraced by developers and makers everywhere. Most Linux and MacOS computers come with a version of Python pre-installed, and now even a few Windows computer vendors are installing Python too.
Maybe you're late to the party, and you want to learn but don't know where to turn. These 12 resources will get you started and well on your way to proficiency with Python.
Courses, books, articles, and documentation
- The Python Software Foundation has excellent information and documentation to help you get started on your coding journey. Be sure to check out the Python for beginners guide. It will help you get the latest version of Python and offers helpful tips on editors and development environments. The organization also has excellent documentation to guide you.
- My Python journey began with the Turtle module. I first found answers to my questions about Python and the Turtle in Bryson Payne's Teach Your Kids to Code. The book is a great resource, and buying it gives you access to dozens of example programs that will spark your programming curiosity. Dr. Payne also teaches an inexpensive course by the same title on Udemy.
- Dr. Payne's book piqued my curiosity, and I yearned to learn more. This was when I discovered Automate the Boring Stuff with Python by Al Sweigart. You can buy the book or use the online materials, which are identical to the print edition and freely available and shareable under a Creative Commons license. Thanks to Al, I learned Python basics, functions, lists, dictionaries, manipulating strings, and much more. It's a great book, and I have purchased many copies to donate to local libraries. Al also offers a course on Udemy; with a coupon code on his website, you can get it for only $10.
- Eric Matthes wrote Python Crash Course, a step-by-step introduction to Python published (like the two books above) by No Starch Press. Matthes also has a wonderful companion website that includes how to set up Python on your computer as well as links to cheat sheets to ease the learning curve.
- Python for Everybody is another great Python learning resource. The site offers free access to materials from Charles Severance's Coursera and edX certification courses. The site is divided into Get Started, Lessons, and Materials sections, with its 17 lessons well-organized by topic area, from installation to data visualization. Severance, @drchuck on Twitter, is a clinical professor in the School of Information at the University of Michigan.
- Seth Kenlon, our master Pythonista at Opensource.com, has written extensively about Python. Seth has many great articles, including "Save and load Python data with JSON," "Learn object-oriented programming with Python," "Put platforms in a Python game with Pygame," and many more.
Use Python on devices
- Recently I have become very interested in the Circuit Playground Express, a device that runs on CircuitPython, a subset of the Python programming language designed for microcontrollers. I have found that the Circuit Playground Express and CircuitPython are great ways to introduce students to Python (and programming in general). Its maker, Adafruit, has an excellent series of tutorials that will get you up to speed with CircuitPython.
- No article about learning Python would be complete without mentioning the Raspberry Pi single-board computer. Once you get comfortable with the mighty Pi, you can find a ton of ideas on Opensource.com for using it, including "7 Raspberry Pi projects to explore," "Resurrecting the Amiga on the Raspberry Pi," and "How to use your Raspberry Pi as a VPN server."
- A lot of schools provide students with iOS devices to support their education. While trying to help teachers and students in these schools learn to code with Python, I discovered Trinket.io. Trinket allows you to write and execute Python 3 code in a browser. Trinket's Getting started with Python tutorial will show you how to use Python on your iOS device.
- I enjoy listening to podcasts when I am driving, and I have found a wealth of information on Teaching Python with Kelly Paredes and Sean Tibor. Their content is well-tuned to the education space.
- If you're looking for something a little more general, I recommend Michael Kennedy's Talk Python to Me podcast. It offers excellent information about what's going on in Python and related technologies.
What is your favorite resource for learning Python? Please share it in the comments.