Аргументы по умолчанию в Python

PythonPythonBeginner
Практиковаться сейчас

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

Введение

Представьте пески Древнего Египта, пирамиды, поднимающиеся вверх, отбрасывая длинные тени на пейзаж, полный мистики и истории. В этом лаборатории мы отправляемся внутрь недавно выкопанного камера в Великой пирамиде Хефрана. Гиероглифы на стенах камеры рассказывают о забытом божестве, чьи силы будут восстановлены, когда их аватар будет призван с помощью правильного заклинания. Говорят, что этот бог имел силу даровать мудрость и знания, особенно в таинственной искусстве программирования на Python.

Наша цель - расшифровать заклинание, необходимое для призвания аватара этого божества, решив задачи на Python, разложенные в камере. Для этого мы должны овладеть использованием параметров по умолчанию в функциях Python - концепцией, столь же вечной, как сами пирамиды.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/FunctionsGroup -.-> python/default_arguments("Default Arguments") subgraph Lab Skills python/default_arguments -.-> lab-271545{{"Аргументы по умолчанию в Python"}} end

Создайте функцию с параметрами по умолчанию

В этом шаге мы создадим функцию, которая поможет нам открыть первую печать на камеру божества. Функции Python могут иметь параметры по умолчанию, которые используются, если при вызове функции не указано конкретное значение. Давайте потренируемся в этом, создав функцию, которая генерирует древнее заклинание с параметрами мощности по умолчанию.

Теперь откройте ~/project/incantation.py с помощью вашего любимого текстового редактора и определите функцию под названием cast_spell, которая принимает два параметра: spell (строка) и power_level (целое число со значением по умолчанию 5).

Пример кода в incantation.py:

def cast_spell(spell, power_level=5):
    return f"Invoking {spell} with a power level of {power_level}!"

## Test the function by calling it with and without specifying the power_level
print(cast_spell('Heka'))
print(cast_spell('Seshat', power_level=9))

Запустите свой код, чтобы увидеть, как вызываются заклинания.

python3 incantation.py

Ожидаемый вывод:

Invoking Heka with a power level of 5!
Invoking Seshat with a power level of 9!

Работа с несколькими параметрами по умолчанию

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

По-прежнему находясь в директории ~/project, добавьте новую функцию в наш файл incantation.py под названием make_offering, которая будет принимать три параметра: food (по умолчанию "зерно"), incense (по умолчанию "бальзам") и gemstone (по умолчанию "лапиз lazuli").

Пример кода в incantation.py:

def make_offering(food="grain", incense="frankincense", gemstone="lapis lazuli"):
    return f"Offering {food}, {incense}, and {gemstone} to please the gods."

## Test the function with default and custom arguments
print(make_offering())
print(make_offering(food="dates", gemstone="turquoise"))

Запустите обновленный файл:

python3 incantation.py

Ожидаемый вывод:

Offering grain, frankincense, and lapis lazuli to please the gods.
Offering dates, frankincense, and turquoise to please the gods.

Резюме

В этой лаборатории мы углубились в силу параметров по умолчанию в Python на фоне приключения в древнегипетской пирамиде. Не только вы узнали определять функции с параметрами по умолчанию и настраивать их по запросу, но и освоили магию древнегипетского божества, сочетая синтаксис Python с очарованием египтологии.

Решив эти задачи, вы приобрели ценный навык, который пригодится вам при написании гибкого и повторно используемого кода на Python. Теперь, освоив параметры по умолчанию, вы готовы открыть больше секретов в мире Python - языка, который является столь загадочным, как пирамиды, и столь доступным, как открытый десерт под ясным, луноным небом.