mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Merge r60679
This commit is contained in:
parent
77c02ebf38
commit
74b6495b34
1 changed files with 4 additions and 30 deletions
|
|
@ -82,7 +82,7 @@ class Iterable(metaclass=ABCMeta):
|
|||
return NotImplemented
|
||||
|
||||
|
||||
class Iterator(metaclass=ABCMeta):
|
||||
class Iterator(Iterable):
|
||||
|
||||
@abstractmethod
|
||||
def __next__(self):
|
||||
|
|
@ -157,7 +157,7 @@ class Callable(metaclass=ABCMeta):
|
|||
### SETS ###
|
||||
|
||||
|
||||
class Set(metaclass=ABCMeta):
|
||||
class Set(Sized, Iterable, Container):
|
||||
|
||||
"""A set is a finite, iterable container.
|
||||
|
||||
|
|
@ -169,19 +169,6 @@ class Set(metaclass=ABCMeta):
|
|||
then the other operations will automatically follow suit.
|
||||
"""
|
||||
|
||||
@abstractmethod
|
||||
def __contains__(self, value):
|
||||
return False
|
||||
|
||||
@abstractmethod
|
||||
def __iter__(self):
|
||||
while False:
|
||||
yield None
|
||||
|
||||
@abstractmethod
|
||||
def __len__(self):
|
||||
return 0
|
||||
|
||||
def __le__(self, other):
|
||||
if not isinstance(other, Set):
|
||||
return NotImplemented
|
||||
|
|
@ -358,7 +345,7 @@ MutableSet.register(set)
|
|||
### MAPPINGS ###
|
||||
|
||||
|
||||
class Mapping(metaclass=ABCMeta):
|
||||
class Mapping(Sized, Iterable, Container):
|
||||
|
||||
@abstractmethod
|
||||
def __getitem__(self, key):
|
||||
|
|
@ -378,15 +365,6 @@ class Mapping(metaclass=ABCMeta):
|
|||
else:
|
||||
return True
|
||||
|
||||
@abstractmethod
|
||||
def __len__(self):
|
||||
return 0
|
||||
|
||||
@abstractmethod
|
||||
def __iter__(self):
|
||||
while False:
|
||||
yield None
|
||||
|
||||
def keys(self):
|
||||
return KeysView(self)
|
||||
|
||||
|
|
@ -523,7 +501,7 @@ MutableMapping.register(dict)
|
|||
### SEQUENCES ###
|
||||
|
||||
|
||||
class Sequence(metaclass=ABCMeta):
|
||||
class Sequence(Sized, Iterable, Container):
|
||||
|
||||
"""All the operations on a read-only sequence.
|
||||
|
||||
|
|
@ -535,10 +513,6 @@ class Sequence(metaclass=ABCMeta):
|
|||
def __getitem__(self, index):
|
||||
raise IndexError
|
||||
|
||||
@abstractmethod
|
||||
def __len__(self):
|
||||
return 0
|
||||
|
||||
def __iter__(self):
|
||||
i = 0
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue