I have a Python function that takes a list as a parameter. If I set the parameter’s default value to an empty list like this:
def func(items=[]):
print items
Pylint would tell me “Dangerous default value [] as argument”. So I was wondering what is the best practice here?
Use
Noneas a default value:The problem with a mutable default argument is that it will be shared between all invocations of the function — see the “important warning” in the relevant section of the Python tutorial.