Efanzh <efa...@gmail.com> added the comment:

I agree that this doesn’t fix any bug. But is is easy to make mistakes by using 
mutable default values (See 
https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments). Both 
PyCharm and pylint show warnings about mutable default arguments even there is 
no bug in the code.

Using `{}` as default value, by looking at the function signature, I might 
wonder whether this argument stays the same on each function call, since it is 
mutable. But by using `None` as default value, I am know this argument will 
always be `None` on each function call. Using `None` as default value makes the 
function interface more easy to understand.

Also, if some new Python coders saw `[]` or `{}` being used as default values 
in the standard library, they might think “I’ll do it too since the standard 
library does it”.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue38654>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to