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).

Regards

Antoine.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to