You are here

Variable names and keywords

23 February, 2015 - 11:45

Programmers generally choose names for their variables that are meaningful— they document what the variable is used for.

Variable names can be arbitrarily long. They can contain both letters and numbers, but they have to begin with a letter. It is legal to use uppercase letters, but it is a good idea to begin variable names with a lowercase letter (you’ll see why later).

The underscore character (_) can appear in a name. It is often used in names with multiple words, such as my_nameor airspeed_of_unladen_swallow.

If you give a variable an illegal name, you get a syntax error:

>>> 76trombones = 'big parade'SyntaxError: invalid syntax>>> more@ = 1000000SyntaxError: invalid syntax>>> class = 'Advanced Theoretical Zymurgy'SyntaxError: invalid syntax

76trombones is illegal because it does not begin with a letter. more@ is illegal because it contains an illegal character, @. But what’s wrong with class?

It turns out that class is one of Python’s keywords. The interpreter uses keywords to recognize the structure of the program, and they cannot be used as variable names.

Python reserves 31 keywords1 for its use:

and

del

from

not

while

as

elif

global

or

with

assert

else

if

pass

yield

break

except

import

print

 

class

exec

in

raise

 

continue

finally

is

return

 

def

for

lambda

try

 

You might want to keep this list handy. If the interpreter complains about one of your variable names and you don’t know why, see if it is on this list.