Introduction to Python

This is a  collection of materials for the beginning student of  Python. There are a lot of these materials out there; these are just the ones I find particularly useful for this topic.

Lessons and Curricula

Probably the best place to start is This truly excellent curriculum is free for teachers and students, is simply and clearly written, and provides a good source of code snippets you can use for the rest of your Python career.

Note the Python Essentials menu at the top, which lets you go straight to the page covering any particular syntax. Take a look around the site, then come back here.

Which Text Editor Should You Choose?

This is the kind of question that’ll get you into a war on Reddit. Do some quiet research before asking online.

If you’re comfortable using vi or vim, they’re perfectly fine. Beginners don’t usually start with vi these days, but you may run into environments where it’s your only option.

More advanced programmers are going to need a full IDE to wrangle large projects. Unless you’re already experienced with IDEs, just use a simple text editor for now. For a typical extremely detailed StackOverflow type answer, see this:

If you’re not familiar with StackOverflow yet, remember this site! Etiquette is a big deal here, so be careful of your reputation points.

For a more chatty, friendly Quora discussion, see here:

And if you prefer video, this one is great for illustrating the points of difference (and argument). Especially note the comments:

We’re Going To Use The Python Shell And IDLE

The python shell is already installed on any Linux system that has Python. (I’m using lowercase “python” to indicate the command, while the proper noun “Python” gets an initial cap). On most other OSs you’ll need to install a Python package.

All you have to do is open a terminal and type:


This puts you at a command line where you can enter Python commands. It’s great for one-liners, but not very useful for building scripts. What you really want is a simple write-and-debug environment, which is where IDLE comes in.

Go here to find the simple commands to install IDLE in Linux:
Install IDLE.

Now you’re ready to follow this video on using both the python shell and idle commands:

Someday You’ll Want Something More Advanced

If you haven’t already run into it, you’re going to find automatic code completion a magical blessing. In the Microsoft IDE world it’s called IntelliSense, and you’ll get it using MS’s Visual Studio Code IDE, which can be installed on Linux, Mac and Windows. Other environments like Eclipse offer some nice Python-coding features and plugins too, so don’t think MS is the only way to go.