Курс 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. Переопределение метода
  2. Динамическая типизация в Python
  3. Инверсия списка и строки
  4. Вложенные функции в Python
  5. Регулярные выражения: метод match
  6. Слияние словарей в Python 3.9
  7. Метод сравнения объектов в Python
  8. Отправка POST запроса на сервер.
  9. Метод lt для сортировки объектов
  10. Метод rsub для пользовательских чисел
  11. Обмен значений переменных в Python
  12. Срезы в Python
  13. Методы classmethod и staticmethod
  14. Проверка версии Python
  15. Декораторы в Python
  16. Использование функции product
  17. Тернарный оператор в Python
  18. Анализ кода — Python
  19. Работа с модулем random
  20. Работа с кортежами в Python
  21. Описание скриптов в README
  22. Транспонирование 2D-массива с помощью zip
  23. Замена текста с помощью sub
  24. Импортирование в Python
  25. Синхронизация доступа к ресурсам
  26. Определение объема памяти объекта
  27. Оптимизация поиска в словарях
  28. Работа с JSON данными в Python
  29. Структура строк в Python
  30. Подсказки типов в Python
  31. Инверсия списка/строки в Python
  32. Экспорт внешнего файла с помощью writefile
  33. Работа с коллекциями Python
  34. EMOT преобразование эмодзи в текст
  35. Создание инструмента обнаружения плагиата
  36. Округление в Python
  37. Преобразование кортежа в словарь.
  38. Объединение итераторов
  39. Удаление файлов и папок в Python
  40. Создание GUI на Tkinter
  41. Функция pow() — возвести число в степень
  42. Итераторы с потерямиZIP
  43. Зарезервированные слова в Python
  44. Функция enumerate() — Python
  45. Переворот строки с использованием цикла
  46. Избегайте пустого списка
  47. Работа с deque из collections

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