[Python-Dev] PEP 318 - posting draft
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