Курс Python → Гибкие функции Python

Параметры функции *args и **kwargs являются важным инструментом в Python, который позволяет создавать функции с переменным числом аргументов. Как правило, *args используется для передачи неименованных аргументов в виде кортежа, а **kwargs для передачи именованных аргументов в виде словаря.

Например, если у нас есть функция, которая принимает один обязательный аргумент value, а все остальные аргументы не обязательны, мы можем использовать *args для упаковки неименованных аргументов и **kwargs для упаковки именованных аргументов. Таким образом, мы можем передать любое количество аргументов в нашу функцию.

Использование *args и **kwargs особенно полезно, когда мы не знаем заранее, сколько и какие аргументы будут переданы в функцию. Это позволяет сделать функцию более гибкой и универсальной, так как она может принимать различные комбинации аргументов.

Например, если у нас есть функция, которая складывает все переданные аргументы, мы можем использовать *args для упаковки всех числовых аргументов в кортеж и произвести операцию сложения. Это удобно, так как мы можем передать в функцию любое количество чисел для сложения.


def sum_values(*args):
    total = 0
    for num in args:
        total += num
    return total

print(sum_values(1, 2, 3, 4))  # Выведет 10
print(sum_values(5, 10, 15))    # Выведет 30

Таким образом, использование *args и **kwargs делает функции более гибкими и удобными для использования, позволяя передавать переменное количество аргументов различных типов.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Передача параметров в Python
  2. Возврат нескольких значений
  3. Замена символов в Python
  4. Расширение информации об ошибке в Python
  5. Проверка типов с использованием isinstance
  6. Преобразование регистра строк
  7. Метод rlshift для битового сдвига
  8. Оператор обр. импликации
  9. Проблема с изменяемыми аргументами
  10. Документация функции help() в Python
  11. Обмен значений переменных в Python
  12. Транспонирование 2D-массива с помощью zip
  13. Обработка данных в Python
  14. Создание функций высшего порядка
  15. Функции классификации комплексных чисел
  16. Метод add для класса Vector
  17. Управление User-Agent в Python
  18. Переопределение метода __pow__
  19. Запуск внешних программ с subprocess
  20. Модуль itertools: эффективная работа с итераторами
  21. Подписка на @SelectelNews
  22. Проектирование Singleton с метаклассом
  23. Создание спинбокса в tkinter
  24. Мониторинг работы программы Py-spy
  25. Автоматизация с Python
  26. Создание обратного итератора
  27. Управление фоновыми задачами в Python
  28. Профилирование кода на Python
  29. Комплексные числа в Python
  30. Инверсия списка и строки в Python
  31. Метод get() для словарей
  32. Оператор continue в Python
  33. Метод setdefault() в Python
  34. Функция product() из itertools
  35. Concrete Paths — метод .with_suffix()
  36. Получение срезов итераторов
  37. Методы shutil для работы с файлами
  38. Объявление переменных в Python
  39. Реализация метода __abs__ в Python
  40. Структура строк в Python
  41. Удаление элемента из списка
  42. Сравнение строк в Python
  43. Аннотации типов в Python
  44. Функция reduce() из модуля functools

Marketello читают маркетологи из крутых компаний