Get Python: The first and most obvious thing to do is download Python and start playing! The complete Python package from python.org is about five megabytes, and includes a complete programming environment and enough documentation to have you learning and programming within minutes, especially if you’ve ever programmed in any modern language at all. Another option is to download ActivePython from ActiveState. If you refer to either of these Python distributions in any Python forum or email list, you should have little trouble finding someone who uses the same environment.

There are several additional options, including:

  • Jython (“J” for “Java”)
  • Pippy (for the Palm)
  • VPython (which “offers real-time 3D output”)

Tutorials: After you have downloaded Python, work through a few tutorials. If you are new to Python and to computer programming in general, you can safely start with the tutorial that comes with your Python installation, playing with the examples you find there. Then pick one or two that you like from our Python Links page and step through them.

Time To Play: By the time you have tinkered with a few tutorials, you will probably be itching to *do something* with Python. If you do not already have a favorite text editor, when you decide you need one, check out python.org’s IDE list. I’d recommend trying as many as you can, but make sure that the lines do not wrap at a right margin and throw off your indentation. If you have no idea what sort of programs to try writing, just try playing with the ideas presented in a tutorial. You will learn as much from things that do not work the way you had planned as you will from your victories. (Fortunately, Python allows you a great many beginner victories!) There are several great sources of information, help, and fresh ideas, some of which don’t cost a dime.

Awesome Python People: First, subscribe to the Python Tutor email list (https://mail.python.org/mailman/listinfo/tutor), where you can see questions about how to program in Python answered by friendly, intelligent people. Our Blog page can point you to a number of other good Python resources, where you can find that a lot of good people out there want to help you get the most out of your experience.

Useless Python: Second, check out our collection to find some Python scripts you can play with on your own. If you make changes to someone’s script, or do something in a different way, you can send us the script along with anything you have to say about it, and we will cheerfully add your own creation to our collection for others to play with later. This is called Open Source software, where you get to see how the programs work and share your own changes. (We don’t claim to be experts in legal terms, such as “Open Source” in their purely legal definitions, but we believe we have the spirit of the term here.)

Beginner Python Books: Third, you can find a few good beginner books on Python. I had avoided making specific book recommendations for a while, but a few current books are so good that I feel negligent for not pointing them out. For absolute newcomers to programming in general, I like Learn to Program Using Python by Alan Gauld. Learning Python by Mark Lutz and David Ascher is a fine first book for people with even the tiniest bit of previous programming experience. Although I was skeptical of the title, Teach Yourself Python in 24 Hours by Ivan Van Laningham is actually a quite nice beginner text and addresses plenty of important material in a friendly manner.

More Advanced Books: But my highest praise goes to two books designed to help explain intermediate and advanced topics. Programming Python 2nd Edition by Mark Lutz is a very conversational tutorial of real world Python. And Core Python Programming by Wesley J. Chun covers basic concepts in depth before proceeding to more advanced topics, with exercises at the end of each chapter to encourage hands-on practice at each step along the way. These two books seem (to me) to have given Python newbies a lot of great material to explore together on the Python Tutor Email List and in other forums. More quality Python books are available now, with more still on the way. I recommend searching for Python at your favorite book-selling website, such as amazon.com, check out some suggestions here, and reading what other people have had to say about the Python books found there. You should find the Python community extremely friendly and helpful.

You Just Never Know: Additionally, you can search around on the web for Python channels and other interesting things. Try Discord and join #python. If that doesn’t work, try the same channel on Slack.

ISPs And Hosting Services: One way you can do yourself a favor while helping save the world is by making sure your ISP (Internet Service Provider) allows you to use Python scripts on your personal or company websites, even though you can use Python on your own computer without doing this. Python is an *awesome* choice for web programming, from CGI to sockets. Generally, you can check out their main website and find a list of languages you can use to write CGI in for use on their web server. Even if you don’t think you want to write any scripts for your website, you may change your mind later and won’t want to find out at that time that you can’t do it. If you have trouble finding the information on their website, or simply prefer the personal touch, email the support staff at your ISP and ask them if Python is available and how quickly the situation can be amended if not. (Always remember to be reasonably polite when sending these emails [no threatening to use the Holy Hand Grenade] and make some effort to find the info on the website before emailing. It’s just courteous and makes the whole process flow more smoothly.)