This post offers a few suggestions for those of you who might want to get up to speed using Python or to upgrade your skills. There are a huge number of resources out there. Hopefully this will help you choose where to start.
This site assumes you know Python 3. In fact, since we are going to be using a number of Python’s heavy-duty data analysis, visualization and numerical packages, it’s unavoidable that the level is going to be beyond beginner Python.
Also, the Python code on this site is only a means to an end. The priority is learning how to do sports analytics and the related probability and statistics. I will do my best to keep the code as clear and understandable as possible, but it’s inevitable that some readers and visitors will have questions.
Feel free to contact me if you have suggestions or questions.
Free Introductory Resources
My first suggestion for beginners is Think Python, Second Edition by Allen B. Downey, a professor of Computer Science at Olin College. You can read the book online for free as well as purchase a copy. He also has a number of other, more technical and specialized books using Python available at Green Tea Press. I think this book offers a broad range of material in a series of short, clear chapters that make it a very practical resource.
After going through Think Python, the web site Learn X in Y Minutes (where X=Python3) does a good job of marching through all the details very quickly and effectively. The series of short examples on the web site will also serve as a nice Python cheat sheet. If you are familiar with other programming languages but new to Python, Learn X in Y Minutes is a very useful resource.
To get a more formal and comprehensive knowledge of Python, it’s hard to beat The Python 3 Tutorial, the official Python tutorial.
Free Intermediate Resources
The blog post 30 Python Language Features and Tricks You May Not Know About is also useful It lists several Python patterns that might be overlooked by or unfamiliar to a Python beginner. Bookmark it and use it as a cheat sheet.
There are a lot of blogs out there by Python professionals. I think the blog by Dan Bader has a broad mix of useful content targeted at both beginners and a more advanced audience.
Next Steps
There are a lot of other high quality resources out there. If you are looking for more (or different) resources, I’d suggest you look at the links at the bottom of Learn X in Y Minutes (where X=Python3).
There are also a number of suggestions for additional resources at The Hitchhiker’s Guide to Python.
This article, “The Best Python Books in 2017”, has some suggestions on books to purchase. A number of these books are good choices if you want to move up to more advanced Python.
Lastly, the ultimate resource as always is finding that your question has already been asked and answered online. For that, I’d suggest you look at the Python section on StackOverflow.
I’ve intentionally left out all of the many online courses, since I haven’t taken any of them. Some of the other resources have links to courses (free and not-free) which you might want to peruse if that format suits your learning style.
I hope these suggestions are helpful to you. Please let me know if you have feedback about these or other resources.