[Python-Dev] slots, properties, descriptors, and pydoc
John Belmonte
john at neggie.net
Mon May 31 14:25:45 EDT 2004
I wrote:
> Wouldn't it be just as future-proof to make __slots__ a list of bare
> slot names or objects? One advantage is that slot names don't have to
> be carried around externally to the objects. Moreover, using standard
> attribute names like __name__ and __doc__ will make the solution more
> future-proof.
>
> The default metaclass will handle __slots__ along these lines:
>
> for item in obj.__slots__:
> if isinstance(item, StringTypes):
> slot_name, slot_doc = item, None
> else:
> slot_name = item.__name__
> slot_doc = getattr(item, '__doc__', None)
>
> In that way, the default metaclass does not impose any restrictions on
> what the slot objects are.
>
> Example usage:
>
> class MySlot(object):
> def __init__(self, name, doc=None):
> self.__name__ = name
> self.__doc__ = doc
>
> class C(object):
> __slots__ = ['slot1',
> MySlot('slot2', 'this is the docstring')]
I am still very interested in seeing this happen. I'm looking for a
Python C API expert who would be kind enough to get me started with the
necessary mods to the default Python metaclass.
I already have a prototype of the pydoc improvements which go
hand-in-hand with this change
(http://sourceforge.net/tracker/index.php?func=detail&aid=936774&group_id=5470&atid=305470).
-John
--
http://giftfile.org/ :: giftfile project
More information about the Python-Dev
mailing list