Hello, so you’re interested in Python but a little bit befuddled about where to start. I’ve been teaching and programming in Python for forever and so I’m going to share all my usual suggestions:
My 3 most favorite ways to learn Python are:
- How to Think Like A Computer Scientist – this interactive textbook does a great job of explaining concepts and giving instant feedback and it tracks your progress. There’s also a non interactive version for subway self study and the like
- Learn Python The Hardway – Examples and more examples and yet still more. This is very much a learning via coding approach. [10/26/2017 update: This is no longer recommended because of the author’s attitude towards Python 3]
- Dive Into Python – Already know a language (or 3?), then this is the book for you. Clear, programmer oriented guide to cranking out code in Python
And yes, I don’t ever recommend CodeAcademy but my summer high school students have been huge fans and so it gets an honorable? mention.
Ok, but you’re probably like ok, but how do I get it to run on my computer? Well, purists will point you towards python.org and doing everything in the shell. Now since I don’t hate you, I’m gonna point you towards pre-packaged environments that have most of the basics for most tasks.
Newbie friendly Python development environments:
- Anaconda – this is the darling of the data science community ’cause it has all the most common data science libraries installed and comes with the super fantastic ipython notebook code editing environment
- Canopy – Also geared towards the data science community and comes with most of the same tools as Anaconda.
- IDLE – this is the default that comes with any install of Python from python.org. Not a favorite, but perfectly serviceable for learning python.
- PyCharm – heavy hitter for web development. If you’re using Python to power a website, this is the IDE for you.
Ok, so you go through the tutorials and download the environment and it’s all a bit overwhelming and you’re thinking now what? Well, we provide the support you need.
Digital Fellows Python User Group
The GC Python User Group is a collaborative space for experimentation and exploration with the Python programming language. Whether you’re new to programming or use Python regularly as part of your research practice, the PUG provides an environment to develop your skills alongside like-minded scholars from a variety of disciplines. The Python User Group meets on alternate Mondays from 2:00 to 4:00 in the Digital Scholarship Lab (room 7414). Please bring your own laptop.
The first PUG meeting is next Monday, October 19 at 2:00-4:00 in room 7414.
The header image is from the xkcd comic Python.