Added myself to the nosy list. Seems like the suggested kw_only: str variant—perhaps it should also support Iterable—would allow continued support for positional arguments. Is your idea around positional-only arguments different?
Another thought I had was around Optional and default-None semantics: Optional[type] should safely default to None in __init__; I'm thinking the opposite could also be supported (default of None can imply Optional type in annotation). Given various objectives, would it make sense to codify in a PEP to build consensus? On Mon, 2021-01-25 at 11:07 -0500, Eric V. Smith wrote: > See https://bugs.python.org/issue33129. I've not done much with this > issue, because I'm not crazy about the API, and I'd like to do > something with positionally-only arguments at the same time. But I > think in general it's a good idea. > Eric > On 1/24/2021 3:07 PM, Paul Bryan via Python-ideas wrote: > > The main benefits of this proposal: > > - the order of fields (those with defaults, those without) is > irrelevant > - don't need to pedantically add default = None for Optional values > > On Sun, 2021-01-24 at 19:46 +0000, Paul Bryan via Python-ideas wrote: > > > I've created a helper class in my own library that enhances the > > existing dataclass: > > > > a) __init__ accepts keyword-only arguments, > > b) Optional[...] attribute without a specified default value would > > default to None in __init__. > > > > I think this could be useful in stdlib. I'm thinking a dataclass > > decorator parameter like "init_kwonly" (default=False to provide > > backward compatibility) that if True would implement this behavior. > > > > Thoughts? > > > > _______________________________________________ > > 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/2NLPDOV2XJBQU5LX3SA3XEQ6CTOQEZA7/ > > Code of Conduct: http://python.org/psf/codeofconduct/ > > > > _______________________________________________ > 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/T2BBB4LA3LLPRZRF4TRR6YBROTX7CGBD/ > Code of Conduct: http://python.org/psf/codeofconduct/ > _______________________________________________ > 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/LP6LCIZ6UOPMWSVALPWF67TC7CA5BZME/ > Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________ 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/IUEZPYGYVBQAGV6RJTLAT3WAK62ASIYR/ Code of Conduct: http://python.org/psf/codeofconduct/