Курс Python → Дефолтные параметры в Python
При определении функций в Python можно использовать дефолтные параметры, которые будут использоваться, если при вызове функции не переданы соответствующие аргументы. Однако, при использовании изменяемых объектов в качестве дефолтных параметров, может возникнуть проблема, когда изменения в этих объектах сохраняются между вызовами функции. Например, если использовать список в качестве дефолтного параметра и изменять его внутри функции, то изменения будут сохранены между вызовами функции.
Для решения этой проблемы можно воспользоваться ключевым словом None при определении аргументов по-умолчанию. Таким образом, при каждом вызове функции будет создаваться новый объект для дефолтного параметра, и изменения внутри функции не будут влиять на предыдущие или последующие вызовы.
def example_func(param=None):
if param is None:
param = []
param.append(1)
return param
print(example_func()) # [1]
print(example_func()) # [1]
В данном примере функция example_func принимает параметр param, который по-умолчанию равен None. Если при вызове функции параметр не передан, то создается новый пустой список. После этого к списку добавляется элемент 1 и он возвращается. При последующих вызовах функции каждый раз будет создаваться новый пустой список, и изменения не будут сохраняться между вызовами.
Другие уроки курса "Python"
- Метод join() для объединения элементов строки
- Получение атрибутов и методов класса
- Логирование с Loguru
- Методы сравнения множеств
- Избегайте пустого списка
- Python Ellipsis использование
- Объявление переменных в Python
- Преобразование вложенного списка
- Раздувающийся словарь в Python
- Python reversed() vs срез[::-1]
- Функция __init__ в Python
- Замена подстроки
- Запуск внешних программ с subprocess
- Создание копии списка в Python
- Импорт в Python: список all
- Установка пакетов с помощью pip
- Оператор in в Python
- Удаление файлов с shutil.os.remove()
- Декоратор @override
- Отладка утечек памяти в Python
- Кортеж в Python: создание и использование
- Объединение словарей в Python
- Удаление элементов из списка в Python
- Создание новых списков в Python
- Форматирование даты с strftime()
- Копирование списков в Python
- Разделение строк в Python
- Установка и использование Python-dateutil
- Группы исключений в Python
- Итераторы в Python
- F-строки в Python
- Инверсия списка/строки в Python
- Разность множеств
- Получение ID текущего процесса
- Управление ресурсами в Python
- Оператор continue в Python
- Генераторы в Python
- Определение относительного пути
- Работа с географическими данными.
- Блок try…finally в Python
- Метод append() для списка
- Вставка переменных в шаблоны Flask
- Управление виртуальными окружениями в Python
- Работа с областями видимости переменных
- Удаление эмодзи с помощью pandas
- Поиск кода















