Junior — Middle
66
¿Cómo implementar una función en Python con un argumento predeterminado que se pueda modificar dentro de la función?
Respuesta de la IA
sobes.tech AI
В Python аргументы по умолчанию инициализируются один раз при определении функции, поэтому изменять изменяемый объект (например, список) внутри функции может привести к нежелательным эффектам.
Чтобы избежать этого, обычно используют значение по умолчанию None и внутри функции создают новый объект, если аргумент не был передан:
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return items
# Пример использования
print(add_item(1)) # [1]
print(add_item(2)) # [2], а не [1, 2]
Такой подход позволяет изменять аргумент внутри функции без риска повлиять на значение по умолчанию между вызовами.