[Tutor] Python structure advice ?
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".
More information about the Tutor