Книга «Изучаем Python»



Pdf көрінісі
бет80/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   76   77   78   79   80   81   82   83   ...   238
Байланысты:
2 5343781172763690906

ПРИМЕЧАНИЕ

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

дать с именами параметров из определения функции .



140    Глава 8  •  Функции

Значения по умолчанию

Для каждого параметра вашей функции можно определить значение по умолча-

нию. Если при вызове функции передается аргумент, соответствующий данному 

параметру, Python использует значение аргумента, а если нет — использует зна-

чение по умолчанию. Таким образом, если для параметра определено значение 

по умолчанию, вы можете опустить соответствующий аргумент, который обычно 

включается в вызов функции. Значения по умолчанию упрощают вызовы функций 

и проясняют типичные способы использования функций.

Например, если вы заметили, что большинство вызовов 

describe_pet()

 исполь-


зуется для описания собак, задайте 

animal_type

 значение по умолчанию 

'dog'


Теперь в любом вызове 

describe_pet()

 для собаки эту информацию можно 

опустить:

def describe_pet(pet_name, animal_type='dog'):

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

    print("\nI have a " + animal_type + ".")

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

describe_pet(pet_name='willie')

Мы изменили определение 

describe_pet()

 и включили для параметра 

animal_type

 

значение по умолчанию 



'dog'

. Если теперь функция будет вызвана без указания 

animal_type

, Python знает, что для этого параметра следует использовать значение 

'dog'

:

I have a dog.



My dog's name is Willie.

Обратите внимание: в определении функции пришлось изменить порядок параме-

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

вотного не обязательно, единственным оставшимся аргументом в вызове функции 

остается имя домашнего животного. Python интерпретирует его как позиционный 

аргумент, и если функция вызывается только с именем животного, этот аргумент 

ставится в соответствие с первым параметром в определении функции. Именно по 

этой причине имя животного должно быть первым параметром.

В простейшем варианте использования этой функции при вызове передается 

только имя собаки:

describe_pet('willie')

Вызов функции выводит тот же результат, что и в предыдущем примере. Един-

ственный переданный аргумент 

'willie'


 ставится в соответствие с первым па-

раметром в определении,

 pet_name

. Так как для 

animal_type

 аргумент не указан, 

Python использует значение по умолчанию 

'dog'


. Для вывода информации о лю-

бом другом животном, кроме собаки, используется вызов функции следующего 

вида:

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



Так как аргумент для параметра 

animal_type

 задан явно, Python игнорирует зна-

чение параметра по умолчанию.




Передача аргументов    141



Достарыңызбен бөлісу:
1   ...   76   77   78   79   80   81   82   83   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет