Last week, the Digital Fellows held a workshop on the Python programming language, and the Interactive Technology and Pedagogy (ITP)program will be holding another in October. It seems like a good time to share a list of Python tutorials and resources. Before jumping into the list, remember that the Digital Fellows holds Python User Group every Wednesday from 12:00 to 2:00, and office hours on Tuesdays from 2:00 to 4:00. Also check outDigital Fellow Hannah Aizenman’s recommended resources for Python, especially her list of beginner-friendly programming environments. Happy Pythoning!
Introductory Books and Tutorials
The book most frequently recommended by the Digital Fellows for those new to programming. Shaw’s teaching philosophy is to make you write code first and then explain it to you, which generally seems to work. The book is available for free online.
An interactive introduction to computer science concepts using the Python programming language. This book uses its own embedded web-based code interpreter, so you won’t necessarily have to use the command line from the beginning. A good introduction to Python with an emphasis on working with data.
A book on automating common computing tasks with Python. If you’re finding yourself using repetitive workflows or collecting, cleaning, or transferring data by hand, this book will prove useful. Available for free online.
A playful introduction to Python that explains concepts in simpler terms than many comparable books. Unless you’re interested, you may want to move on to another learning resource once you encounter the chapters on creating a game.
A fairly accessible general overview of Python programming concepts that is less opinionated than Learn Python the Hard Way. Also free online.
An interactive tutorial for learning the basics of Python. (I recommend trying the books above first, as learning to use an IDE such as IDLE is an important part of the learning curve.)
A non-gentle crash course in Python. Good choice of material but moves very quickly.
A serious introduction to topics in Python programming such as natural language processing, writing algorithms, and creating web applications. Not recommended for complete beginners.
An opinionated learning resource and reference for Python. Useful for both beginning and experienced programmers.
A curated list of high-quality Python modules.
The Strunk and White of ideomatic Python programming.
Not really a tutorial, but decent general overview of Python for those experienced in multiple programming languages.
Intermediate to experienced Python programmers might benefit from this list of blog articles covering specialized topics.