On 5/6/2020 8:33 PM, Chris Angelico wrote:
On Thu, May 7, 2020 at 10:27 AM David Mertz <me...@gnosis.cx> wrote:
The only precedent that jumps out for me is itertools.chain() and 
itertools.chain.from_iterable(). It's quite likely that something I don't use 
much has used the same pattern though.

(Please don't top-post - you're making it hard to give proper context.
Precedent for what?)

That's an example of a very common pattern of alternate constructors.
So if you want to parallel that with zip, the most logical way would
be something like zip.from_same_length_iterables() or some
abbreviation. And then zip_longest could become
zip.from_iterables_and_fill().

I think David is right: itertools.chain.from_iterable() is the only place I know of with an attribute on a function that's another function. Alternate constructors are generally classmethods. Not that the distinction is terribly important, but it is a distinction, and it's documented differently.

And it's the documentation that I'm concerned about: I don't think itertools.chain.from_iterable() is very discoverable. Plenty of people don't know it exists. That's my concern with this approach.

Eric
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/R52I45GHHT5EJCO3MEAX3REXEWTCRLER/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to