ПРИМЕЧАНИЕ
Если вы используете значения по умолчанию, все параметры со значением по умолчанию должны
следовать после параметров, у которых значений по умолчанию нет . Это необходимо для того,
чтобы Python правильно интерпретировал позиционные аргументы .
Эквивалентные вызовы функций
Так как позиционные аргументы, именованные аргументы и значения по умол-
чанию могут использоваться одновременно, часто существуют несколько эквива-
лентных способов вызова функций. Возьмем оператор
describe_pets()
с одним
значением по умолчанию:
def describe_pet(pet_name, animal_type='dog'):
При таком определении аргумент для параметра
pet_name
должен задаваться в лю-
бом случае, но это значение может передаваться как в позиционном, так и в име-
нованном формате. Если описываемое животное не является собакой, то аргумент
animal_type
тоже должен быть включен в вызов, и этот аргумент тоже может быть
задан как в позиционном, так и в именованном формате.
Все следующие вызовы являются допустимыми для данной функции:
describe_pet('willie')
describe_pet(pet_name='willie')
describe_pet('harry', 'hamster')
describe_pet(pet_name='harry', animal_type='hamster')
describe_pet(animal_type='hamster', pet_name='harry')
Все вызовы функции выдадут такой же результат, как и в предыдущих примерах.
Достарыңызбен бөлісу: |