Chapter 2. Names, Functions, and Modules

In this chapter we’ll see how to name values, define new functions, and incorporate optional software from the Python library. All of these operations rest on Python mechanisms for naming and interpreting names.

A Python name consists of an arbitrary number of letters, underscores, and digits. The only restriction is that the first character must not be a digit (otherwise Python would interpret the digit as the beginning of a number). Names beginning with two underscores are special in one of several ways that will be explained later, so names you choose will almost always begin with a letter.

A name is used to refer to something—a primitive value, a function, or any of a number of other possibilities. A name is not the same as a string. A name refers to something, whereas a string has no intrinsic meaning to Python. Unlike strings, names are not enclosed in quotes. Giving a name to a value is called binding. One value may have multiple names bound to it, as Figure 2-1 illustrates.

Names bound to objects
Figure 2-1. Names bound to objects

The same name can mean different things in different contexts. The technical term for such a context is a namespace. The types and built-in functions we saw in the previous chapter are all part of the global namespace. A separate namespace is associated with each type, such as str. This enables each type to have its own version of ...

Get Bioinformatics Programming Using Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.