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

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

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

Какие параметры существуют

Аргументы — это данные, которые передаются в вызов функции. Они бывают двух типов:

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

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

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

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

Если внимательно посмотреть на два примера выше, то можно понять, что это две одинаковые функции.

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

Какие параметры использовать

Выбор типа параметра зависит от того, кто вызывает функцию.

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

  • Они повышают читаемость, так как сразу видно имена

  • Можно не указывать все промежуточные параметры, которые нам сейчас не нужны

Последнее полезно, если у функции много необязательных параметров. Посмотрим на примере:

def f(a=1, b=2, c=None, d=4):
    print(a, b, c, d)

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

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

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

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

В этом уроке мы ограничились только базовыми знаниями, которые помогут вам читать примеры кода с именованными аргументами. Если интересно изучить эту тему подробнее, можно вернуться к ней в курсе «Python: Функции».


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

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

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

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

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

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

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

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

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

Иконка программы Python-разработчик
Профессия
с нуля
Разработка веб-приложений на Django
2 февраля 10 месяцев
Иконка программы Аналитик данных
Профессия
В разработке с нуля
Сбор, анализ и интерпретация данных
16 марта 8 месяцев

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

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

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

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»