On Mon, Oct 25, 2021 at 02:59:02PM +0100, Barry Scott wrote: > def func(@y=x+1, @x=0): > > Is it unreasonable to get a UnboundLocal or SyntaxError for this case?
I think that UnboundLocalError is fine, if the caller doesn't supply x. So all of these cases will succeed: func(21, 20) func(21, x=20) func(y=21, x=20) func(x=20, y=21) func(x=20) and I think that the only[1] case that fails is: func() An UnboundLocalError here is perfectly fine. That error is conceptually the same as this: def func(): y = x + 1 x = 0 and we don't try to make that a syntax error. [1] To be pedantic, there are other cases like func(x=20, x=20) and func(1, 2, 3, 4) that also fail. But you knew what I meant :-) -- Steve _______________________________________________ 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/QEWTI6XQZOJLSL7LQXZQK6XFR7VTIXKA/ Code of Conduct: http://python.org/psf/codeofconduct/