Курс 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"
- Метод hash в Python
- Numpy: объединение массивов
- Преобразование символов в нижний регистр
- Структуры данных в Python
- Оператор match в Python
- Работа с кортежами
- Деление в Python
- Оператор is в Python
- Отображение HTML кода в Python
- Генерация случайных чисел в Python
- Работа с атрибутом dict
- Создание копии списка в Python
- Обработка элементов в Python
- Метод __ixor__ для побитового исключающего ИЛИ
- Импорт классов из другого файла
- Комментарии в Python
- Функция rsplit() в Python
- Декораторы в Python
- TypedDict для kwargs в Python 3.12
- Деление в Python
- Создание панели меню Tkinter
- Создание директории в Python
- Непрерывная проверка в Python
- Фильтрация входных данных в Python
- Получение пути к текущему скрипту с помощью os
- Итерация по копии коллекции
- Создание новых функций с помощью functools.partial
- Вывод с переменной через запятую
- Обновление множества в Python
- Python: цикл for и оператор присваивания
- Декораторы в Python
- Работа с GitHub в Telegram
- Профилирование данных с Pandas
- Работа с географическими данными.
- Переворот строки
- Генерация случайных чисел в Python
- Хэш-функции в Python
- Цепные операции в Python
- Concrete Paths в Python
- Профилирование кода
- Работа с часовыми поясами в Python.
- Поиск шаблона в начале строки
- Создание словарей в Python
- Генерация ключей RSA
- Порядок операций в Python
- Метод сравнения объектов в Python
- Генерация QR-кодов с библиотекой qrcode
- Создание обратного итератора
- Работа с IP-адресами в Python















