30
«Наименьшее удивление» и изменчивый аргумент по умолчанию
Любой, кто возился с Python достаточно долго, был укушен (или разорван на части) следующей проблемой: def foo(a=[]): a.append(5) return a Python послушники бы ожидать эта функция всегда возвращает список только с одним элементом: [5]. Результат вместо этого очень отличается, и очень удивительно (для новичка): >>> foo() [5] >>> foo() [5, …