[Python-Dev] PEP 318 - posting draft (original) (raw)

Bob Ippolito bob at redivi.com
Wed Mar 24 15:53:04 EST 2004


On Mar 24, 2004, at 1:32 PM, Guido van Rossum wrote:

I think this use case is rather elegant:

def singleton(cls): return cls() class Foo [singleton]: ... Guido> And how would this be better than Guido> class Foo(singleton): Guido> ... Guido> (with a suitable definition of singleton, which could just be Guido> 'object' AFAICT from your example)? "Better"? I don't know. Certainly different. In the former, Foo gets bound to a class instance. In the latter, it would be a separate step which you omitted: class Foo(singleton): ... Foo = Foo() Ok, so the metaclass would have to be a little different, but this can be done with metaclasses. (But I think that this in particular example, declaring the instance through the class is merely confusing. :-)

Fine, but try doing singleton and something else that needs a metaclass without first composing every metaclass-supported-class-decorator combination you want to use a priori.

-bob



More information about the Python-Dev mailing list