On Tue, Oct 26, 2021 at 2:40 PM Chris Angelico <[email protected]> wrote:
> On Wed, Oct 27, 2021 at 5:30 AM Ricky Teachey <[email protected]> wrote: > > But with function k below, where the b parameter is deferred, you can't > get the default b parameter by dynamically unpacking some values; you would > have to pass c as a kwd arg: > > > > def k(a, b=>len(a), c=None): > > ... > > > > Seems like it would be- needed? convenient?- to be able to "ask" for the > default in a dynamic way... Am I making more of this than is justified? > > > > Question: Does it make sense to ask for the default for the second > positional parameter, while passing an actual value for the third? If > it does, then the function needs an API that reflects this. The most > obvious such API is.... what you already described: passing c as a > keyword argument instead. I don't think this is a problem. When you're > looking at positional args, it is only ever the last N that can be > omitted. If it makes sense to pass any combination of arguments, then > they should probably be keyword-only, to clarify this. > > Do you have any examples where this isn't the case? > > ChrisA > I don't. I only have a niggling feeling that maybe this is a bigger problem than we're giving it credit for. If I can, I'll try to substantiate it better. Maybe others can better flesh out the concern here if it's valid. At bottom I guess I'd describe the problem this way: with most APIs, there is a way to PASS SOMETHING that says "give me the default". With this proposed API, we don't have that; the only want to say "give me the default" is to NOT pass something. I don't KNOW if that's a problem, it just feels like one. --- Ricky. "I've never met a Kentucky man who wasn't either thinking about going home or actually going home." - Happy Chandler
_______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/57JDHXLKZGK6G6WYVAQDN46XWW35ORYG/ Code of Conduct: http://python.org/psf/codeofconduct/
