В этом уроке разберем, какие параметры существуют, чем они отличаются и в каких случаях их применять.
Аргументы — это данные, которые передаются в вызов функции. Они бывают двух типов:
Первый тип — позиционные аргументы. Они передаются в том же порядке, в котором определены параметры функции:
# (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: Функции».
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт