[Python-Dev] operator.is*Type (original) (raw)
Greg Ewing greg.ewing at canterbury.ac.nz
Thu Feb 23 05:27:33 CET 2006
- Previous message: [Python-Dev] operator.is*Type
- Next message: [Python-Dev] defaultdict and on_missing()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Fuzzyman wrote:
The operator module defines two functions :
isMappingType isSquenceType These protocols are loosely defined. Any object which has a
__getitem__
method defined could support either protocol.
These functions are actually testing for the presence of two different getitem methods at the C level, one in the "mapping" substructure of the type object, and the other in the "sequence" substructure. This only works for types implemented in C which make use of this distinction. It's not much use for user-defined classes, where the presence of a getitem method causes both of these slots to become populated.
Having two different slots for getitem seems to have been an ill-considered feature in the first place and would probably best be removed in 3.0. I wouldn't mind if these two functions went away.
-- Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | Carpe post meridiam! | Christchurch, New Zealand | (I'm not a morning person.) | greg.ewing at canterbury.ac.nz +--------------------------------------+
- Previous message: [Python-Dev] operator.is*Type
- Next message: [Python-Dev] defaultdict and on_missing()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]