Sobes.tech
Junior — Senior
60

Анализ работы функции add_element в Python

Условие задачи

Разберите, что делает представленный ниже фрагмент кода, учитывая различные варианты вызова функции и особенности использования mutable‑default аргументов.


def add_element(new: list[str], src: list = []) -> list:
    if isinstance(new, list):
        src.extend(new)
    else:
        src.append(new)
    return src

if __name__ == "__main__":
    value1 = add_element("test")
    print(value1)
    value2 = add_element(["test2", "test3"])
    print(value2)
    value3 = add_element(new=["test4"], value2)
    print(value3)

Опишите, какие результаты будут выведены и почему.