Object Method Functions

We've seen how we can create functions and use those functions in programs and other functions. Python has a related technique called methods or method functions. The functions we've used so far are globally available. A method function, on the other hand, belongs to an object. The object's class defines what methods and what properties the object has.

We'll cover method functions in detail, starting in Chapter 21, Classes . For now, however, some of the Python data types we're going to introduce in Part II, “Data Structures” will use method functions. Rather than cover too many details, we'll focus on general principles of how you use method functions in this section.

The syntax for calling a method function looks like this:

someObject.aMethod ( argument list )

A single . separates the owning object (someObject) from the method name (aMethod). Some methods have no arguments, others have complex arguments.

We glanced at a simple example with complex numbers. The complex conjugate function is actually a method function of the complex number object. The example is in the section called “Complex Numbers”.

In the next chapter, we'll look at various kinds of sequences. Python defines some generic method functions that apply to any of the various classes of sequences. The string and list classes, both of which are special kinds of sequences, have several methods functions that are unique to strings or lists.

For example:

>>> 
"Hi Mom".lower()

'hi mom'

Here, we call the lower method function, which belongs to the string object "Hi Mom".

When we describe modules in Part IV, “Components, Modules and Packages”, we'll cover module functions. These are functions that are imported with the module. The array module, for example, has an array function that creates array objects. An array object has several method functions. Additionally, an array object is a kind of sequence, so it has all of the methods common to sequences, also.

file objects have an interesting life cycle, also. A file object is created with a built-in function, file. A file object has numerous method functions, many of which have side-effects of reading from and writing to external files or devices. We'll cover files in Chapter 19, Files , listing most of the methods unique to file objects.