Курс 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"
- Контекстный менеджер в Python
- Проверка на палиндром
- Работа с часовыми поясами в Python.
- Ограничение итераций в Python
- Python Calendar Usage
- Метод index() в Python
- Измерение времени выполнения кода
- Мониторинг работы программы Py-spy
- Инициализация структур данных
- Работа с файлами в Python
- Функция __init__ в Python
- Метод get() в Python
- Логические операторы в Python
- Обработка исключений с блоком else
- Кортежи в Python: особенности и преимущества
- Изучение объектов с помощью dir()
- Работа с Requests для HTTP-запросов
- Нахождение максимального значения и его индекса в списке
- Склеивание строк через метод join()
- Метод clear для коллекций
- Оператор морж в Python 3.8
- Нахождение пересечения множеств
- Команда %dhist — список посещенных каталогов
- Основы Python за 14 дней
- Форматирование строк в Python
- Оператор == в Python
- Сортировка и обратный порядок
- Импорт с альтернативным именем
- Работа с изображениями Pillow
- Цепные операции в Python
- Возврат нескольких значений
- Инициализация объекта
- Группы исключений в Python
- Создание виртуальной среды
- Проверка подстроки в строке с помощью in
- Нахождение разницы между списками в Python
- PrettyTable: создание таблицы
- Проверка дублей в списке.
- Оформление текста в консоли с TermColor
- Извлечение аудио из видео
- Закрытие файла в Python
- Объединение словарей в Python
- Роль ключевого слова self
- Создание графиков в терминале
- Контроль точности вывода чисел
- Переворот списка в Python















