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



Pdf көрінісі
бет87/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   83   84   85   86   87   88   89   90   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

ПРИМЕЧАНИЕ
При использовании именованных аргументов будьте внимательны — имена должны точно совпа-
дать с именами параметров из определения функции .


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 игнорирует зна-
чение параметра по умолчанию.


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


Достарыңызбен бөлісу:
1   ...   83   84   85   86   87   88   89   90   ...   266




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

    Басты бет