01. Names and Namespaces

Python names are how Python is able to identify functions, variables and modules. Names are made up of letters, underscores and digits, but may only start with letters and underscores. We'll see later when we cover classes that those that start with two underscores have a special meaning.


Within different context and scopes, names can have entirely different meanings. The space in which a name is mapped to an object thing is called the namespace.

Local and Global namespaces

Local namespaces are created when a function is called, and deleted when the function returns a value or raises an exception that is not handled within the function. Unless a variable is declared with the global keyword, it is defaulted to the local namespace.

Within a global namespace, a name has the same meaning everywhere. In Python, namespaces are implemented in the dictionary datatype, which we'll see later.

Overwriting names

Be cautious when creating a name to make sure it's not already taken. If you import or use a name that was already in use, the previous name will be overwritten. This will cause unexpected errors and bugs all over your program so take caution!

Assigning names

Assigning names is easy. Simply use the = operator, with the name on the left-hand side.

>>> sample = "test"
>>> a = b = c = 5 # Assigns all three variables with the number 5.

Augmented assignments

You can easily modify an already existing variable, with an augmented assignment operator.

>>> i = 5
>>> i += 5 # Same as i = i + 5

Other augmented assignments include += (addition), -= (subtraction), *= (multiplication), /= (division), //= (flooring), %= (modulo, remainder), **= (exponent).

Learn to be a Pythonista!

Python Programming

Learn to be a Pythonista! Try Python

This book is designed to be used as the primary textbook in a college-level first course in computing. It takes a fairly traditional approach, emphasizing problem solving, design, and programming as the core skills of computer science. However, these ideas are illustrated using a non-traditional language, namely Python.

$ Check price
45.9945.99Amazon 4.5 logo(211+ reviews)

More Python resources

Aching back from coding all day?

Inversion Therapy Table

Aching back from coding all day? Try Back Problems

Stretch out your back and relieve your back muscles with inversion therapy. This device counteracts the forces of gravity on the body by decompressing and elongating the spine. By using this product just ten minutes a day, you can be well on your way to improved circulation and posture while relieving muscle aches, back pain and stress.

$$ Check price
119.98119.98Amazon 4.5 logo(1,700+ reviews)

More Back Problems resources