[Python-Dev] Re: Sets: elt in dict, lst.include
firstname.lastname@example.org (Skip Montanaro)
Wed, 31 Jan 2001 16:27:38 -0600 (CST)
>>>>> "Tim" == Tim Peters <email@example.com> writes:
>> (Obviously, lists *do* understand __getitem__ at some level. Why
>> isn't it exposed in the method table?)
Tim> The old type/class split: list is a type, and types spell their
Tim> "method tables" in ways that have little in common with how classes
Tim> do it.
The problem that rolls around in the back of my mind from time-to-time is
that since Python doesn't currently support interfaces, checking for
specific methods seems to be the only reasonable way to determine if a
object does what you want or not.
What would break if we decided to simply add __getitem__ (and other sequence
methods) to list object's method table? Would they foul something up or
would simply sit around quietly waiting for hasattr to notice them?