The code isn't exactly equivalent because a classmethod would
only make sense inside a chain class, and it would need "cls"
as a first argument, and it would need to return an instance
of "chain" rather than a generator.
The updated example drops the @classmethod decorator so that
it can be used standalone: list(from_iterable(['abc', 'def']))
This should be communicate what from_iterable does.
.. classmethod:: chain.from_iterable(iterable)
Alternate constructor for :func:`chain`. Gets chained inputs from a
- single iterable argument that is evaluated lazily. Equivalent to::
+ single iterable argument that is evaluated lazily. Roughly equivalent to::
- @classmethod
def from_iterable(iterables):
# chain.from_iterable(['ABC', 'DEF']) --> A B C D E F
for it in iterables: