Хорошо ли использовать значения по умолчанию для изменяемого аргумента функции?

В Python распространенной ошибкой является установка изменяемого объекта в качестве значения по умолчанию для аргумента в функции. Вот пример, взятый изэто отличная статья Дэвида Гуджера:

>>> def bad_append(new_item, a_list=[]):
        a_list.append(new_item)
        return a_list
>>> print bad_append('one')
['one']
>>> print bad_append('two')
['one', 'two']

Объяснение, почему это происходитВот.

А теперь на мой вопрос:Есть хороший сценарий использования этого синтаксиса?

Я имею в виду, что если каждый, кто сталкивается с этим, совершает одну и ту же ошибку, отлаживает ее, понимает проблему и оттуда пытается ее избежать, какой смысл использовать для такого синтаксиса?

Ответы на вопрос(5)

Ваш ответ на вопрос