Module (21%)
Section (88%)

Параметризованные функции ‒ больше деталей

Иногда бывает, что значения одного параметра используются чаще других. Такие аргументы могут принимать во внимание их значения по умолчанию (предопределенные), если соответствующие им аргументы были опущены.

Говорят, самая популярная английская фамилия - Смит. Попробуем это учесть.

Значение параметра по умолчанию устанавливается с помощью четкого и наглядного синтаксиса:

def introduction(first_name, last_name="Smith"): print("Hello, my name is", first_name, last_name)

Вам нужно только расширить имя параметра знаком =, за которым следует значение по умолчанию.

Давайте вызовем функцию как обычно:

introduction("James", "Doe")

Вы можете угадать, что выведет программа? Запустите ее и проверьте, правы ли Вы.

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

introduction("Henry")

или так:

introduction(first_name="William")

ошибки не будет, и оба вызова будут успешными, а в консоль будет выведено следующее:

Hello, my name is Henry Smith Hello, my name is William Smith

вывод


Протестируйте это.


Вы можете пойти дальше, если это будет полезно. Оба параметра теперь имеют значения по умолчанию, посмотрите на код ниже:

def introduction(first_name="John", last_name="Smith"): print("Hello, my name is", first_name, last_name)

Это делает следующий вызов полностью верным:

introduction()

А это - ожидаемый вывод:

Hello, my name is John Smith

вывод



Если вы используете один именованный аргумент, другой примет значение по умолчанию:

introduction(last_name="Hopkins")

Вывод:

Hello, my name is John Hopkins

вывод


Протестируйте.


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


Code

def introduction(first_name, last_name="Smith"):
print("Hello, my name is", first_name, last_name)

# Call the function here.
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×