Курс Python → Избегание изменяемых аргументов
Избегайте использования изменяемых аргументов по умолчанию в Python, так как это может привести к неожиданным результатам. Вместо этого, хорошей практикой является присваивание None значению аргумента по умолчанию и последующая проверка на то, передано ли какое-либо значение функции для этого аргумента.
Например, рассмотрим функцию, которая принимает список в качестве аргумента и добавляет элемент в этот список. Если использовать изменяемый список в качестве аргумента по умолчанию, то при каждом вызове функции будут использоваться одни и те же данные, что может привести к нежелательным побочным эффектам.
def add_element(item, my_list=None):
if my_list is None:
my_list = []
my_list.append(item)
return my_list
print(add_element(1)) # [1]
print(add_element(2)) # [2]
В данном примере, если не передать список при вызове функции, будет создан новый пустой список, к которому будет добавлен элемент. Таким образом, избегается использование одного и того же списка при каждом вызове функции.
Другие уроки курса "Python"
- Создание комплексных чисел
- Метод split() для разделения строк
- Поиск уникальных элементов строкой в Python
- Функции map, filter, reduce
- Декораторы в Python
- Перевод двоичного кода в целое число
- Приближение чисел в Python
- GitHub в Telegram: подписка на уведомления
- Измерение потребления памяти при сортировке
- Нахождение разницы между списками в Python
- Модуль math: основные функции
- Модуль os: работа с файлами и папками
- Метод get() в Python
- Поиск уникальных и повторяющихся элементов
- Логирование с Logzero
- Поиск email
- Работа с PosixPath() в Python
- Транспонирование матрицы в Python
- Ошибка NotImplemented в Python
- Метод join() с набором
- Основные методы NumPy
- История Python
- Работа с классами данных
- Работа с исключениями в Python
- Принципы LSP и ISP в Python
- Метод eq для сравнения объектов
- Создание коллекций из выражения-генератора
- Python Метод del.
- Работа с файлами в Python
- Поиск индексов подстроки
- Печать списка с помощью метода join
- Добавление элемента в список.
- Вызов внешних программ в Python с помощью sh
- Переменная Шредингера
- Изменение элемента списка
- Копирование объектов в Python
- Создание графики с черепахой
- Метод clear для коллекций
- Сравнение def и lambda-функций
- Pillow: работа с изображениями
- Переопределение метода __pow__
- Модуль xkcd: добавление юмора в Python















