Here we provide a list of general tutorials, articles, and teaching tools about learning scientific Python.
- Pyvideo.org: Videos related to Python.
Learning the Language
These are general books and tutorials designed to teach you the language in a systematic way, or general reference works, as opposed to articles and tutorials focused on a specific, narrow topic.
- Codeacademy: Interactive Python tutorials.
- Dive Into Python: While not exactly a soft introduction, it is suitable for newbies, in addition to more experienced users. Includes a lot of copiously commented examples, and covers a wide range of topics and applications (including testing, web services, etc.). Relatively terse, so it also works as a reference.
- A Gallery of Interesting IPython Notebooks: These examples not only show-off the IPython interface, they also show you how to do scientific computing and data analysis using Python.
- Handbook of the Physics Computing Course: Suitable for newbies, particularly students in the physical sciences. Covers basic programming issues, and one graphical output package, but not general I/O.
- Learn Python the Hard Way: A hands-on textbook aimed at the beginner. I like his pedagogy. His “Advice From an Old Programmer” at the end of the book is priceless.
- The Object-Oriented Thought Process, by Matt Weisfeld (3rd edition, Addison-Wesley, 2008): While not a Python text per se, it may help those who want an introduction to object-oriented thinking.
- Python for Beginners: A list of articles for newbies
- Python for Programmers: Learning Options and Resources for Beginners and the Advanced: A nice summary of how the language compares with other languages with links to tutorials, etc.
- Python Module of the Week: Tour of the Python standard library using short examples.
- Scripting Tools for Scientific Computations: The lecture notes do a pretty decent job of telling you how to do things.
- Sofware Carpentry’s Python Lectures: Excellent series of screencasts on the basics of Python, geared for a scientific computing audience!
- The Standard Python Library: This guide by Fredrik Lundh gives examples for all modules in the standard library.
- Thesaurus of Mathematical Languages, or MATLAB synonymous commands in Python/NumPy.
- Thinking in Python: For experienced programmers, this book describes “design patterns” to solve programming problems.
- Debugging in Python: An accessible and illuminating description designed for newbies.
- The IDLE Debugger: A quick summary
- pdb: The debugger that comes with the Python standard library.
- Tracing Python Memory Leaks
- Tracking Down Memory Leaks in Python
- Epydoc: Pretty complete tool for generating documentation from docstrings
- Pydoc and Disutils Modules
- Sphinx: Generates really nice looking code documentation and supports both manual and self-generated documentation!
- Why Python?: Article written in 2000 by Eric Raymond. Discusses why Python is better than Perl, from someone who knows languages.
- Python Style Guide: This guide is produced by the maintainers of the language.
- Python Coding Guidelines: This set of guidelines was produced by one group at the University of Colorado, Boulder.
- Efficient String Concatenation in Python: A really nicely written article on the performance of different methods of string concatenation. He’s missing the percent sign method, however, I think.
- Formatting Strings: Using string formatting to insert a character into a string
- Online Python Tutor: Executes code snippets line-by-line and shows you what is happening in memory, etc.
Thinking Like a Programmer
- Computer Science Unplugged: Learning activities for all ages regarding Computer Science.
- How to Think Like a Computer Scientist: Learning with Python: Covers basics as well as more computer science-type topics like data structures, queues, trees, etc.
- Featured Tips: Index of tips written for the PyAOS website
- 10 Python Pitfalls (by Hans Nowak): A list of possible pitfalls newcomers to Python might experience
- Python Gotchas: A shorter list that includes a lot on backslashes
- When Pythons Attack: Common Mistakes of Python Programmers (by Mark Lutz)