Getting started

New to Python?

This guide will help you learn about Python, the larger Python community, and our local Python community.

Lots of free learning material can be found online, but there are also local Python users who can give guidance as well.

If you haven't done so already, join the San Diego Python group!

Online guides

  • The Hitchhiker's Guide to Python - one of the best guides out there. It covers everything from installation to common modules and writing great code. It is highly recommended for novices as well as advanced Pythonistas.
  • Official Python documentation - this is the official documentation from Python.org. The Python3 docs are here. It is recommended that you keep a copy under your pillow.
  • Learn Python the Hard Way - a free online guide for people who want step by step tutorials for learning Python. There are over 50 exercises here.

The Python guide has a whole section on learning Python as well.

Online classes

  • Learn Python the Hard Way - this is the course (videos and PDF) that goes along with the online guide. Take a look at the guide and if you feel you would like a bit more then the course may be for you. The course is $29.
  • Codeacademy - Codeacademy has a number of online courses available for learning Python.
  • Coursera - Coursera also has a number of courses.

Online Videos

There are great videos for both Python novices as well as experts.

  • PyVideos - The big Python conferences such as PyCon and Djangocon are recorded and the videos are made freely available.
  • Getting started with Django - This kickstarter funded video series is for people with some Python background who are looking to learn Django.

Books

Other than Learn Python the Hard Way (which is arguably a book) probably the most well known Python books are:

  • Python in a Nutshell by Alex Martelli
  • Learning Python or Programming Python by Mark Lutz

There are other more topic specific books including:

  • Python for Data Analysis by Wes McKinney
  • Python Algorithms by Magnus Lie Hetland
  • Python Standard Library by Example by Doug Hellman

Past San Diego Python workshops

To help bootstrap the learning process, the San Diego Python group periodically hosts workshops on various topics such as Python for beginners, Python for web programmers or Python for data analysis.

Our interactive Django TDD workshop material is a good extension to the official Django tutorial.

Where to get help locally

In addition to showing up at our monthly Meetups and asking a question, you can start a thread on our Google group which is setup specifically for getting help on local Python projects. Over 100 local people monitor that group and one of the members will answer your question fairly quickly.

You can ask one of the members on IRC. IRC is an old-school program for chat rooms popular with technology and open source communities. The San Diego Python group's channel (chat room) is #sandiegopython on freenode. To try it out, go to webchat.freenode.net and type in any nickname in the Nickname box and #sandiegopython in the Channels box. Fill out a captcha and you can talk to somebody from the group. There is almost always somebody in the chatroom although they may be away or sleeping.

Uses for Python

Pretty much anything can be built with Python. However, some uses are more popular than others.

Data analysis and scientific programming

San Diego has many science and math heavy industries such as biotech. Many people are exposed to Python through scientific or numeric Python packages (e.g. NumPy or SciPy) or through one of the scientific Python distributions (enthought sponsored us once).

The Hitchhiker's guide contains more details about common data analysis and scientific computing packages.

The San Diego Python meetup held a data analysis workshop in the past.

Web programming

Python is a very popular language for building dynamic websites. There is more detail in the Hitchhiker's guide.

The static website you are currently reading was also produced using Python.

Local companies using Python

  • Qualcomm - using Python for test automation, data analysis and prototyping
  • Cuker Interactive - web design and marketing company with a Python-powered CMS solution
  • Brightscope - financial information company using Python for data crunching and web development

This guide

The goal of this guide is to help people in the San Diego Python group familiarize themselves with the Python language, larger Python community, and local Python community.

Contributing

The guide is intended to be a "living guide" meaning that it will change over time and receive updates when better information becomes available. With that said, to contribute to the guide, please send a pull request on GitHub or mention additions or corrections to one of the San Diego Python organizers.