[Python-checkins] r54627 - sandbox/trunk/abc/abc.py
guido.van.rossum
python-checkins at python.org
Sat Mar 31 03:20:26 CEST 2007
Author: guido.van.rossum
Date: Sat Mar 31 03:20:25 2007
New Revision: 54627
Modified:
sandbox/trunk/abc/abc.py
Log:
Declare some more abstract methods.
Modified: sandbox/trunk/abc/abc.py
==============================================================================
--- sandbox/trunk/abc/abc.py (original)
+++ sandbox/trunk/abc/abc.py Sat Mar 31 03:20:25 2007
@@ -63,9 +63,6 @@
return 0
-Hashable()
-
-
class Iterable(Abstract):
"""An iterable has one method, __iter__()."""
@@ -206,7 +203,7 @@
### MAPPINGS ###
-class BasicMapping:
+class BasicMapping(Abstract):
# XXX derive from (BasicSet)?
@@ -217,6 +214,7 @@
Other dict methods are not supported.
"""
+ @abstractmethod
def __getitem__(self, key):
raise KeyError
@@ -385,6 +383,7 @@
raise TypeError
return i
+ @abstractmethod
def __getitem__(self, index):
if isinstance(index, slice):
return self.__getslice(index)
@@ -413,6 +412,7 @@
stop = len(self)
return self.__class__(self[i] for i in range(start, stop, step))
+ @abstractmethod
def __len__(self):
return 0
@@ -443,6 +443,7 @@
return self.__class__(elem for seq in (self, other) for elem in seq)
def __mul__(self, repeat):
+ # XXX Looks like we need an ABC to indicate integer-ness...
if not isinstance(repeat, int) and not hasattr(repeat, "__index__"):
return NotImplemented
repeat = self.__index(repeat)
More information about the Python-checkins
mailing list