我想在python itertools中看到链的源代码,但这是我在源代码中找到的内容?为什么他们都“通过”?
class chain(object):
"""
chain(*iterables) --> chain object
Return a chain object whose .__next__() method returns elements from the
first iterable until it is exhausted, then elements from the next
iterable, until all of the iterables are exhausted.
"""
@classmethod
def from_iterable(cls, iterable): # real signature unknown; restored from __doc__
"""
chain.from_iterable(iterable) --> chain object
Alternate chain() contructor taking a single iterable argument
that evaluates lazily.
"""
pass
def __getattribute__(self, *args, **kwargs): # real signature unknown
""" Return getattr(self, name). """
pass
def __init__(self, *iterables): # real signature unknown; restored from __doc__
pass
def __iter__(self, *args, **kwargs): # real signature unknown
""" Implement iter(self). """
pass
@staticmethod # known case of __new__
def __new__(*args, **kwargs): # real signature unknown
""" Create and return a new object. See help(type) for accurate signature. """
pass
答案 0 :(得分:2)
你看到的课程可能是另一个模块。 Itertools和许多其他内置函数都是用编译的c编写的。你可以在这里阅读cpython代码 https://github.com/python/cpython/blob/3.6/Modules/itertoolsmodule.c#L1792
在itertools文档中,它声明链函数大致相当于:
{{1}}