A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2011-November/114364.html below:

[Python-Dev] PyDict_Get/SetItem and dict subclasses

[Python-Dev] PyDict_Get/SetItem and dict subclasses [Python-Dev] PyDict_Get/SetItem and dict subclasses"Martin v. Löwis" martin at v.loewis.de
Sun Nov 6 22:26:34 CET 2011
Am 06.11.2011 17:39, schrieb Antoine Pitrou:
> Le 05/11/2011 17:34, Éric Araujo a écrit :
>> Hi Victor,
>>
>>> PyDict_GetItem() and PyDict_SetItem() don't call __getitem__ and
>>> __setitem__
>>> for dict subclasses. Is there a reason for that?
>>
>> http://bugs.python.org/issue10977 “Currently, the concrete object C API
>> bypasses any methods defined on subclasses of builtin types.”
> 
> I think that's the correct behaviour. If you expect to get an arbitrary
> mapping, just use the abstract API. You should use PyDict_GetItem when
> you know the object is exactly a dict (generally because you have
> created it yourself, or you know at least where and how it was created).

If anybody has spare time at their hands, they should go through the
code base and eliminate all uses of concrete API where it's not certain
that the object really is of the base class (unless I missed that
somebody already did, and that any remaining occurrences would be just
minor bugs).

Regards,
Martin
More information about the Python-Dev mailing list

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