About Function Defaults
Never use mutable default values in the function arguments.
This is wrong, because the initial default list and dictionary values might be unexpectedly changed with each function call:
1 2 | def do_something(my_list=[], my_dict={}): # ... |
This is better, because each function call will assign the default list and dictionary values within the function:
1 2 3 4 5 6 | def do_something(my_list=None, my_dict=None): if my_list is None: my_list = [] if my_dict is None: my_dict = {} # ... |
Also by me
Django Paddle Subscriptions app
For Django-based SaaS projects.
Django App for You
Django GDPR Cookie Consent app
For Django websites that use cookies.
Django App for You