Функции в python, что может быть проще? Хочешь - возвращай значение, не хочешь - не возвращай, можно задавать любые сложные параметры и никто ругаться не будет. Но так ли это? На самом деле только отчасти. Не секрет что в функции можно задать стандартное значение для любого аргумента, тогда если при вызове функции этот аргумент не передать, то его значением станет значение по умолчанию. Например напишем функцию по извлечению корня из числа: По стандарту мы будем извлекать квадратный корень из числа. Но если попробовать список сделать стандартным значением аргумента, то будут происходить странные вещи. Напишем программу для добавления элемента в список: Стандартное значение для списка l здесь - пустой список. Вот что выведет эта программа: Как видим, в третьем принте откуда-то взялось число 95 из второго принта. Также можно заметить, что сам PyCharm ругается на это значение по умолчанию и пишет "Default argument value is mutable": Это значит, что значением аргумента по умолчанию может с
python: Почему нельзя делать список значением аргумента функции по умолчанию
1 июля 20211 июл 2021
802
1 мин