Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Именованные аргументы Основы языка Python

Существует два типа аргументов — то есть данных, которые передаются в вызов функции.

Первый тип — позиционные аргументы. Они передаются в том же порядке, в котором определены параметры функции:

# (text, length)
truncate('My Text', 3)

Второй тип — именованные аргументы. Они передаются не просто как значения, а как пара «имя=значение». Именно поэтому их можно передавать в любом порядке:

# Аргументы переданы в другом порядке
truncate(length=3, text='My Text')

По сути, это та же самая функция, что и выше.

Какие параметры использовать: позиционные или именованные? Зависит от того, кто вызывает функцию.

Есть две причины использовать именованные аргументы:

  1. Они повышают читаемость, так как сразу видны имена
  2. Они позволяют не указывать все промежуточные параметры, которые нам сейчас не нужны. Это полезно, если у функции много необязательных параметров. Посмотрим на примере:
def f(a=1, b=2, c=None, d=4):
    print(a, b, c, d)

# Нужно передать только d, но приходится передавать всё
f(1, 2, 3, 8)

# Именованные аргументы позволяют передавать только d.
# Для остальных аргументов используются значения по умолчанию
f(d=8)

Именованные аргументы можно передавать одновременно с позиционными. Тогда позиционные должны идти в самом начале:

# передаем только a (позиционно) и d (как именованный)
f(3, d=3)

В этом уроке мы ограничились только базовыми знаниями, которые помогут вам читать примеры кода с именованными аргументами.

Если интересно изучить эту тему подробнее, можно вернуться к ней еще раз в курсе по Функциям.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 900 практических заданий в браузере
  • 360 000 студентов
Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
7 июля 10 месяцев

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»