Курс 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"
- Инвертирование словаря
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- None в Python: использование и особенности
- Операции с числами в Python
- Замена символов в Python
- Работа с CSV файлами в Python
- Python: библиотеки и функции
- Python: динамическая типизация и проверка типов
- Удаление знаков препинания в Python
- Функция с **kwargs в Python
- Работа с утверждениями в Python
- Равенство и идентичность в Python
- Функция findall() для поиска вхождений строки
- Подписка на каналы разработчиков
- Псевдонимы в Python
- Поиск индекса элемента в списке
- Логирование с Logzero
- Переворот строки с помощью срезов
- Обработка исключений
- OrderedDict — упорядоченный словарь
- Роль ключевого слова self
- Список переменных в Python
- Методы split() и join() — Python строк.
- Работа со строками в Python.
- Подсчет элементов с помощью Counter из collections
- Проверка на истинность объектов в Python
- Создание пользовательской коллекции в Python
- Оператор += для объединения строк
- Отладка утечек памяти в Python
- Создание словарей в Python
- Создание Radio кнопок в tkinter
- Преобразование Excel в PDF с Spire.XLS
- Именование столбцов в Python с pandas
- Путь к интерпретатору Python
- Нахождение разницы между списками в Python
- Переопределение метода __eq__
- Принципы LSP и ISP в Python
- Установка и загрузка Instaloader
- Оптимизация памяти с помощью __slots__
- Декоратор защиты анонимных пользователей
- Создание итератора
- Преобразование данных в Python
- Сортировка в Python
- Конкатенация строк с join() в Python
- Возврат нескольких значений
- Функция print() — вывод информации
- Вызов функций по строке в Python.















