[Python-Dev] misbehaving contains (original) (raw)
Steven Bethard steven.bethard at gmail.com
Wed Jan 23 02:03:57 CET 2008
- Previous message: [Python-Dev] misbehaving __contains__
- Next message: [Python-Dev] misbehaving __contains__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Jan 22, 2008 5:40 PM, Raymond Hettinger <python at rcn.com> wrote:
[Daniel Stutzbach] > There are many places in the C implementation where a slot > returns an int rather than a PyObject. There other replies > in this thread seem to support altering the signature of the > slot to return a PyObject. Is this setting a precedent that > all slots should return a PyObject?
I hope not. [snip] And, would we lose the nice relationship expressed by: for elem in container: assert elem in container
We've already lost this if anyone really wants to break it::
>>> class C(object):
... def __iter__(self):
... return iter(xrange(3))
... def __contains__(self, item):
... return False
...
>>> c = C()
>>> for item in c:
... print item in c
...
False
False
False
Of course, anyone who decides to break their container classes in that way is asking for trouble. ;-)
STeVe
I'm not in-sane. Indeed, I am so far out of sane that you appear a tiny blip on the distant coast of sanity. --- Bucky Katt, Get Fuzzy
- Previous message: [Python-Dev] misbehaving __contains__
- Next message: [Python-Dev] misbehaving __contains__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]