Курс 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"
- Ошибка NotImplemented в Python
- Динамическая типизация в Python
- Установка Python — Простое руководство
- Цикл for в Python
- Перехват исключений в Python
- Декоратор @override
- Функция enumerate в Python
- Метод index() в Python
- Использование функции product
- Создание .exe файла с pyinstaller
- Отладка в Python
- Метод setdefault() в Python
- Цикл for в Python
- Список методов и атрибутов
- Работа с *args и **kwargs в Python
- Обмен данными с asyncio.Queue
- OrderedDict — упорядоченный словарь
- Извлечение аудио из видео
- Поиск индекса элемента
- Настройка вывода NumPy
- Запрос пароля с помощью getpass
- Модуль os: работа с файлами и папками
- Избегайте двойного подчеркивания
- Кортеж в Python: создание и использование
- Генераторы и сеты в Python
- Enum в Python
- Библиотека wikipedia для Python
- Создание даты из строки ISO
- Форматирование строк в Python
- Проверка однородности элементов списка
- Лямбда-функции в Python
- Создание уникального множества
- Проверка дубликатов в Python
- Регистрация на хакатоне
- Разделение строки с регулярными выражениями
- Поиск частых элементов в списке
- Создание функций высшего порядка
- Форматирование данных с помощью pprint
- Добавление элемента в список.
- Генераторы списков в Python
- Ключевое слово global в Python
- Отрицательные индексы списков в Python
- Управление асинхронными задачами на Python.
- Работа с переменными в Python
- Математические функции в Python















