Чому небезпечно писати def f(x, arr=[])?
Відповідь
•Значення за замовчуванням обчислюється один раз при визначенні функції.
•Список буде спільним між викликами.
•Правильно: def f(x, arr=None): arr = arr or [].
•Те саме для dict/set.
•Це класична пастка Python.
Чи корисна ця відповідь?