PY3.W0102

Dangerous default value

Used when a mutable value as list or dictionary is detected in a default value for an argument.

Noncompliant Code:

Copy
def foo(data={}):
    data.update({'key': 'value'})
    return data

Compliant Code:

Copy
def foo(data):
    if not data:
        data = {'key': 'value'}
    return data

The content on this page is adapted from the Pylint User Guide, Copyright ©2003-2022, Logilab, PyCQA and contributors. All rights reserved. https://pylint.pycqa.org/en/latest/index.html#, and is used under the Python Software Foundation License Version 2. Examples, recipes, and other code in the Pylint documentation are additionally licensed under the Zero Clause BSD License.