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

We use cookies. Read the Privacy and Cookie Policy

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

Перепишем программу pets.py с использованием именованных аргументов при ­вызове describe_pet():

def describe_pet(animal_type, pet_name):

. ."""Выводит информацию о животном."""

. .print(" I have a " + animal_type + ".")

. .print("My " + animal_type + "'s name is " + pet_name.title() + ".")

. .

describe_pet(animal_type='hamster', pet_name='harry')

Функция describe_pet() не изменилась. Однако на этот раз при вызове функции мы явно сообщаем Python, с каким параметром должен быть связан каждый аргумент. При обработке вызова функции Python знает, что аргумент 'hamster' должен быть сохранен в параметре animal_type, а аргумент 'harry' в параметре pet_name.

Порядок следования именованных аргументов в данном случае не важен, потому что Python знает, где должно храниться каждое значение. Следующие два вызова функции эквивалентны:

describe_pet(animal_type='hamster', pet_name='harry')

describe_pet(pet_name='harry', animal_type='hamster')

примечание

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