Guido van Rossum <guido at python.org> writes: > I don't see this. operator.isMappingType() maps directly to > PyMapping_Check(); and I tried this: > > >>> import operator > >>> operator.isMappingType(str) > False > >>> class C(object): pass > ... > >>> operator.isMappingType(C) > False > >>> operator.isMappingType(C()) > False > >>> operator.isMappingType({}) > True > >>> > > Looks okay to me. :-) Are these OK, though: >>> operator.isMappingType(()) True >>> operator.isMappingType([]) True >>> operator.isMappingType("") True In Python 2.2: >>> operator.isMappingType(()) 0 >>> operator.isMappingType([]) 0 >>> operator.isMappingType("") 0 I just found out that this change is the cause for a Bug in my shapelib bindings which at one point try to determine whether a method argument is a dictionary like object by testing whether PyMapping_Check returns true and that assume it's a sequence otherwise. As a work-around it seems I can use isSequenceType/PySequence_Check to effectively turn the test around and determine whether the object is a sequence and assume it's a mapping otherwise. Bernhard -- Intevation GmbH http://intevation.de/ Sketch http://sketch.sourceforge.net/ Thuban http://thuban.intevation.org/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4