Shared publicly  - 
paul martin's profile photoSean Branch's profile photoLuciano Blasetti's profile photoMandar Vaze's profile photo
I'm a developer and I would say Stack Overflow is probably the best free Q&A sites around (for all programming languages.) It covers from beginner to expert
When learning Python, I got the books by Mark Lutz.
For simple number-crunching and graphics, I prefer Maple, octave and R.
+Sean Carroll I'll consider myself "in the know" and I'd say Python is mostly OK but not great as a language. However, for your stated purpose I think it's a good fit. There are libs and packages that will help a lot with number crunching and graphics (numpy, matplotlib, et al).

+Saul Reynolds-Haertle gave fine advice with Learn Python the Hard Way, and I recommend you start there.
Python has matplotlib and scipy which will allow you to crunch numbers then visualize them.
Where are you located? If you are located in an area with an active python community, going to user group meetings can be helpful. If you are in NYC pygotham is coming up, September 15th and 16th. If you live near College Station, TX, pytexas is next week. Btw, ipython is a very nice interactive python console.

I forgot to mention, the learnpythonthehardway author is giving a tutorial at

If you live in chicago, meet with us at, and we have some scientific python programmers who come to meetings and sometimes give talks. some of whom are physicists.
For very basic python there's the tutorial:

For astronomy with Python (actually basic science with Python) there's - put out by the CfA.

I use Python for everything; the basics you want are python, numpy, scipy, and matplotlib. All easy to install on a Mac. A lot of people love iPython, I find it moderately useful sometimes, but I'm a developer, not so much a number cruncher.
For learning the basics, I'd go with a book, not the online tutorial. Mark Lutz's "Learning Python" was fantastic, but I hear the latest edition is a beast. "Quick Python" was great for me as a fast refresher book, but perhaps it would serve you well to learn from it. That's what it's intended for anyway.
As a fellow Mac user, I've found that your best bet is to download the Enthought Python Distribution ( You can get it free as an academic, and in a few minutes it gives you working copies of NumPy/SciPy/Matplotlib/iPython/etc. (without, say, needing to install a separate Fortran compiler).
I haven't used it a ton, but I hear nice things about this on-line IDE for tinkering with simple Python scripts. (I learned with the venerable Dive Into Python. Do people still do that?)
Thanks for all the help! I'm going through Sthurlow's tutorial, and after that either "...The Hard Way" or "Dive Into" or "Beginning Python Visualization." The Euler challenges if I'm feeling plucky.
Um, for the stuff you seem to want to do, Mathematica is way more efficient, elegant and powerful.
I was JUST typing what Ariel said -_- But yeah Im exploring Sage recently. Seems like it would make a great starting point for many scientific python programs...
I learn better by doing practical things . To learn Python I recently installed Android Scripting on my phone and, with help from the Android scripting API documentation, have started writing scripts to do useful things. This forces me to learn to think in Python.
Start with the Parrot Sketch.
+Nathan Goldschmidt I went to the Python Challenge and did a few of the exercises. That's an excellent way for an experienced programmer to learn and have fun at the same time. Thanks.
I learned python by just playing around with it, converting C++ code into python code, etc. Now I exclusively use Python (with pyROOT) for my entire ATLAS analysis!
Yes pyROOT makes working with ROOT less onerous. It doesn't do away with ROOT's manifold flaws, but moves many of them from the forefront. Most importantly, it (largely) does away with CINT (which is on it's way out anyway... see cling
BTW, F2py is a fortran to python interface generator. It's part of scipy and it's incredibly useful (and powerful).

It integrates nicely with numpy. And forget about ripping your hair out, doing anything with strings in fortran... do it all in python, interfaced to fortran. Done!
Who says Scientists don't have a sense of humour ... numpy and scipy ... My computing students of 20+ years would have been so entralled to have such to relieve the boredom from me being enthusiastic about XYZ ... fortunately my telepathic powers meant that I produced charts demonstrating that most lecturees think about nothing as the mist of alcohol seemed to pervade the huge auditorium or was that smell something else
I am also learning python. I just posted a link to a parsing script that I wrote. Any feedback and critique is welcome.
Add a comment...