Курс 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. Методы и функции в Python
  3. Разделение строки с помощью re.split()
  4. Перемешивание списка с shuffle()
  5. Оператор умножения для вектора
  6. Избегайте двойного подчеркивания
  7. Именованные аргументы в Python
  8. Печать в одной строке
  9. Генераторные выражения и islice.
  10. Удаление символов новой строки в Python.
  11. Парсинг веб-страниц с Beautiful Soup
  12. Основы слова
  13. Создание новой даты в Python
  14. Выключение компьютера с помощью Python
  15. Загрузка постов Instagram
  16. Именованные срезы в Python
  17. Получение идентификатора объекта в памяти
  18. Импорт модулей и пакетов в Python
  19. Модуль math: константы π и e
  20. Проверка надежности пароля на Python
  21. Модуль Antigravity в Python 3
  22. Типы возвращаемых значений в Python
  23. Аннотации типов в Python
  24. Циклы в Python
  25. Просмотр файла в Jupyter Noteboo
  26. Многострочные комментарии в Python
  27. Ограничение ресурсов в Python
  28. Обработка ошибок ввода данных
  29. Регулярные выражения: метод match
  30. Генераторы списков
  31. Настройка Cron
  32. Работа с IP-адресами в Python
  33. Сортировка данных в Python
  34. Python: динамическая типизация и проверка типов
  35. Блок try…finally в Python
  36. Метод getitem для доступа к элементам последовательности
  37. Работа с NumPy
  38. Возврат нескольких значений
  39. Метод __ilshift__ для битового сдвига влево
  40. Функции высшего порядка в Python
  41. Метод округления чисел
  42. Работа с collections в Python.
  43. Поиск элементов BeautifulSoup
  44. Функция enumerate в Python
  45. Метод rxor для операции побитового исключающего «или»
  46. Декоратор Property в Python
  47. Модуль pprint: улучшение вывода данных

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