Hi James, Some weeks ago, you started a discussion here about "Clearer Communication". Here's another suggestion to help: don't expect your readers to either guess, or infer from the code, what your proposal means. As the Zen of Python says:
Explicit is better than implicit. Looking at your sample code, I'm guessing that you want support for late binding of function parameter defaults. Python uses early binding, see the FAQs: https://docs.python.org/3/faq/programming.html#why-are-default-values-shared-between-objects Am I correct? If not, can you please explain what it is that you are actually suggesting. Note that early binding is not a bug to be fixed, it is a design choice which is sometimes useful and sometimes not useful. Mutable defaults being shared is sometimes a good feature to have, and for immutable defaults, early binding is more efficient. I don't think that changing the behaviour will be acceptible, I know I would argue strongly in favour of keeping early binding. (If the language defaults to early binding, it is easy to implement late binding in the body of the function; but if the language uses late binding, it is difficult and annoying to get early binding when you want it. We should stick to the status quo.) But having a nice, clean way to get late binding semantics as an alternative might be acceptible, if we can agree on acceptible syntax and a mechanism. -- Steven _______________________________________________ Python-ideas mailing list [email protected] https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
