Gabriel Genellina a écrit :
> En Sun, 18 Feb 2007 14:14:41 -0300, goodwolf <[EMAIL PROTECTED]>
> escribió:
>
>> On Feb 18, 9:17 am, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote:
>>
>>> En Sun, 18 Feb 2007 04:20:33 -0300, goodwolf <[EMAIL PROTECTED]>
>>> escribió:
>>>
>>> > I suppose that you wont get class name into its code (or before
>>> > definition end) but not into a method definition.
>>>
>>> > import sys
>>>
>>> > def getCodeName(deap=0):
>>> > return sys._getframe(deap+1).f_code.co_name
>>>
>>> > class MyClass (object):
>>> > name = getCodeName() + '!'
>>>
>>> What's the advantage over MyClass.__name__?
>>>
>>> --
>>> Gabriel Genellina
>>
>>
>>>>> class C(object):
>>
>> ... name = C.__name__
>> ...
>> Traceback (most recent call last):
>> File "<stdin>", line 1, in ?
>> File "<stdin>", line 2, in C
>> NameError: name 'C' is not defined
>>
>>>>>
>
> I were asking, why do you want a "name" attribute since "__name__"
> already exists and has the needed information. And worst, using an
> internal implementation function to do such task.
>
This might be useful to avoid metaclass hacks when trying to initialize
a class attribute that would require the class name. (my 2 cents)
--
http://mail.python.org/mailman/listinfo/python-list