If Python really cared about being non-confusing, it would evaluate default values of function parameters each time the function is called, in the scope of that function, and not once when the function is defined, in global scope.
@deshipu It would need to be a function passed in for that to work.
An instance for Kazriko