Next: Namespaces and Variable Scoping
Up: Basic Principles of Python
Previous: Modules
  Contents
Object Oriented Programming
Python is a true object-oriented language. The term ``object oriented'' has become
quite a popular buzzword; such high profile languages as C++ and Java are both
object oriented by design. Many other languages add some object-oriented capabilities,
but were not designed to be object oriented from the ground up as python was. Why
is this feature important? Object oriented program allows you to focus on the data
you're interested in, whether it's employee information, the results of a scientific
experiment or survey, setlists for your favorite band, the contents of your CD
collection, information entered by an internet user into a search form or
shopping cart, and to develop methods to deal efficiently with your data. A basic
concept of object oriented programming is encapsulation, the ability to define an
object that contains your data and all the information a program needs to operate
on that data. In this way, when you call a function (known as a method in
object-oriented lingo), you don't need to specify a lot of details about your
data, because your data object ``knows'' all about itself. In addition, objects
can inherit from other objects, so if you or someone else has designed an object
that's very close to one you're interested in, you only have to construct those
methods which differ from the existing object, allowing you to save a lot of
work.
Another nice feature of object oriented programs is operator overloading. What
this means is that the same operator can have different meanings when used with
different types of data. For example, in python, when you're dealing with numbers,
the plus sign (+) has its usual obvious meaning of addition. But when
you're dealing with strings, the plus sign means to join the two strings together.
In addition to being able to use overloading for built-in types (like numbers and
strings), python also allows you to define what operators mean for the data types
you create yourself.
Perhaps the nicest feature of object-oriented programming in python is that you can
use as much or as little of it as you want. Until you get comfortable with the
ideas behind object-oriented programming, you can write more traditional programs
in python without any problems.
Next: Namespaces and Variable Scoping
Up: Basic Principles of Python
Previous: Modules
  Contents
Phil Spector
2003-11-12