Объяснение к уроку
После этого урока ты сможешь:
Функция объединяет переиспользуемое поведение под единым именем. Определи её с помощью def, перечисли необходимые параметры в круглых скобках и выдели тело функции отступом:
def calculate_total(price, quantity):
return price * quantityprice и quantity — это параметры. Значения, передаваемые при вызове, например calculate_total(12.5, 4), являются аргументами.
Самое важное различие в этом уроке — между return и print(). print() лишь отображает значение на экране, а return отправляет результат обратно вызывающему коду. Возвращённые значения можно сохранять, сравнивать, форматировать, передавать в другие функции или проверять автоматическими тестами.
Функция может возвращать разные типы данных, включая строки, числа и булевы значения. Когда условие определяет окончательный результат, ранний возврат позволяет немедленно завершить выполнение функции и избежать лишней вложенности.
Если выполнение доходит до конца функции без инструкции return, Python автоматически возвращает None.
Вызывающий код получает вычисленное значение и может повторно его использовать.
def estimate_storage(file_size_mb, copies):
return file_size_mb * copies
required_mb = estimate_storage(18, 3)
print(f"Storage: {required_mb} MB")Вывод:
Storage: 54 MBФункция вычисляет; вызывающий код решает, как отобразить результат.
Параметры делают вспомогательную функцию применимой для различных значений.
def format_environment(name, region):
return f"{name.lower()}@{region.upper()}"
print(format_environment("Staging", "eu"))Вывод:
staging@EUВозвращаемая строка строится из обоих переданных аргументов.
Сравнение можно возвращать напрямую.
def is_within_limit(used, limit):
return used <= limit
print(is_within_limit(72, 100))Вывод:
TrueРезультат является булевым значением, а не текстом "True".
Ранний возврат обрабатывает блокирующий случай до основного результата.
def deployment_status(failed_checks, is_frozen):
if is_frozen:
return "frozen"
if failed_checks > 0:
return "blocked"
return "ready"
print(deployment_status(0, False))Вывод:
readyКак только Python доходит до return, функция немедленно завершается.
| Задача | Python |
|---|---|
| Определить переиспользуемое поведение | def function_name(parameters): |
| Отправить результат вызывающему коду | return value |
| Только отобразить значение | print(value) |
| Завершить функцию при окончательном правиле | Ранний return |
| Нет явного возврата | Python возвращает None |
return никогда не выполнится.