Creating Classes
Dave Angel
davea at ieee.org
Fri Dec 18 23:49:16 EST 2009
Alf P. Steinbach wrote:
> <div class="moz-text-flowed" style="font-family: -moz-fixed">* Dave
> Angel -> seafoid:
>>
>> One other point: you should always derive a class from some other
>> class, or 'object' by default. So you should being the class
>> definition by:
>>
>> class Seq(object):
>>
>> Why? It mainly has to do with super(). But in any case if you omit
>> the 'object' it's an "old style" class, and that's not even supported
>> in 3.x, so it's better to just get in the habit before it matters.
>
> I think it's best to mention that the above applies to Python 2.x.
>
> In Python 3.x, writing
>
> class Seq:
>
> is equivalent to writing
>
> class Seq( object ):
>
> <snip>
We were talking about 2.x And I explicitly mentioned 3.x because if
one develops code that depends on old-style classes, they'll be in
trouble with 3.x, which has no way to specify old-style classes. In
3.x, all classes are new-style. And although it'll no longer matter
whether you specify (object), it doesn't do any harm. As I said, it's a
good habit for a beginner to get into when defining classes.
DaveA
More information about the Python-list
mailing list