[Tutor] Python structure advice ?

Jeff Shannon jeff at ccvcorp.com
Fri Dec 17 20:33:00 CET 2004


Dave S wrote:
> Kent Johnson wrote:
> 
>> Why do you say this is 'cheaty'? A class is basically a collection of 
>> data (state) and functions to operate on that state.
> 
> 
> Sorry for the delay, real world work got in the way ...
> 
> Well I understand classes to be used when multiple instances are 
> required, I will only need one instance and as such it seemed a bit of a 
> cheat, The trouble is I now pretty well understand the tools, but don't 
> know how you guys use them in the real world.

For what it's worth, it seems to me to be perfectly normal to have 
classes that are only ever intended to have a single instance.  For 
example, you're never likely to need more than one HTML parser, and 
yet htmllib.HTMLParser is a class...

As Kent said, the main point of a class is that you have a collection 
of data and operations on that data bundled together.  Whether you 
have one set of data to operate on, or many such sets, is mostly 
irrelevant (though classes are even more valuable when there *are* 
many sets of data).  Defining a class isn't so much a statement that 
"I want lots of things like this", as it is a declaration of 
modularity -- "This stuff all belongs together as a unit".

Jeff Shannon
Technician/Programmer
Credit International



More information about the Tutor mailing list