我点击 from collections import abc 中abc想查看源码
显示的事这样的文件呢?
abc.pyi
# Stubs for collections.abc (introduced from Python 3.3)
#
# https://docs.python.org/3.3/whatsnew/3.3.html#collections
import sys
from . import (
Container as Container,
Hashable as Hashable,
Iterable as Iterable,
Iterator as Iterator,
Sized as Sized,
Callable as Callable,
Mapping as Mapping,
MutableMapping as MutableMapping,
Sequence as Sequence,
MutableSequence as MutableSequence,
Set as Set,
MutableSet as MutableSet,
MappingView as MappingView,
ItemsView as ItemsView,
KeysView as KeysView,
ValuesView as ValuesView,
)
if sys.version_info >= (3, 5):
from . import (
Generator as Generator,
ByteString as ByteString,
Awaitable as Awaitable,
Coroutine as Coroutine,
AsyncIterable as AsyncIterable,
AsyncIterator as AsyncIterator,
)
if sys.version_info >= (3, 6):
from . import (
Collection as Collection,
Reversible as Reversible,
AsyncGenerator as AsyncGenerator,
)
然后我再点击 Sequence as Sequence 中的Sequence
是这样的结果 看到源码呢:
AbstractSet = _alias(collections.abc.Set, T_co)
MutableSet = _alias(collections.abc.MutableSet, T)
# NOTE: Mapping is only covariant in the value type.
Mapping = _alias(collections.abc.Mapping, (KT, VT_co))
MutableMapping = _alias(collections.abc.MutableMapping, (KT, VT))
Sequence = _alias(collections.abc.Sequence, T_co)
MutableSequence = _alias(collections.abc.MutableSequence, T)
ByteString = _alias(collections.abc.ByteString, ()) # Not generic
Tuple = _VariadicGenericAlias(tuple, (), inst=False, special=True)