Курс 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. Транспонирование 2D-массива с помощью zip
  3. Python itertools combinations() — группировка элементов
  4. Методы list в Python
  5. Нахождение хеша для бесконечности и NaN в Python
  6. Удаление знаков препинания в Python
  7. Список методов и атрибутов
  8. Справка по импортированным модулям
  9. Модуль future Python
  10. Явный импорт в Python
  11. Создание словарей и множеств в Python
  12. Многоточие в Python
  13. Сортировка данных в Python
  14. Именование столбцов в Python с pandas
  15. Функция map() в Python
  16. Работа с множествами в Python
  17. Python Ellipsis использование
  18. Приближение чисел в Python
  19. Проверка на истинность объектов в Python
  20. Работа со строками
  21. Импортирование в Python
  22. Оператор обр. импликации
  23. Экспорт данных в файл.
  24. Активация Matplotlib в Jupyter
  25. Преобразование в float
  26. Обучение модели с указанием эпох
  27. Форматирование заголовков в Python
  28. Проблемы с dict в Python
  29. Удаление символа из строки
  30. Объединение словарей в Python
  31. Переменная с нижним подчеркиванием
  32. Цикл for в Python
  33. Проверка индексов коллекции
  34. Проверка дублей в списке.
  35. Аннотации типов в Python
  36. Создание новых списков в Python
  37. Тестирование с unittest
  38. Особенности запятых в Python
  39. Генерация QR-кодов с библиотекой qrcode
  40. Python defaultdict добавление ключа
  41. Обход дочерних элементов BeautifulSoup
  42. Удаление и повторная вставка ключа в OrderedDict
  43. Основы Python
  44. Метод gt в Python
  45. Ускоренный импорт библиотек
  46. Генераторы в Python
  47. Python Метод sleep() времени
  48. Блок else в циклах.
  49. Частичное совпадение пользовательского ввода в Python 3.10

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