DamiRocK

Python: определение say_hello() и отличие определения от вызова

Создаём функцию, печатающую Hello, World!, и проверяем её вызов отдельно. Ключевое слово def, двоеточие, отступы и неявный результат None.

Определение описывает действие

Ключевое слово def создаёт функцию и связывает её с именем. После списка параметров ставится двоеточие, тело записывается с отступом. Отступ имеет синтаксический смысл: он показывает, какие инструкции принадлежат функции.

Задание источника

Реализуйте say_hello(), которая выводит Hello, World!:

def say_hello():
    print("Hello, World!")

Это полное определение функции без вызова. Само выполнение строки def ещё не печатает приветствие.

Как проверить самостоятельно

После определения отдельно выполните:

say_hello()

Теперь тело будет выполнено, и появится строка приветствия. Повторный вызов напечатает её ещё раз. На исходной платформе функцию вызывает проверяющий код; на этой странице встроенного запуска тестов нет.

Код вне тела

def say_hi():
    print("Hi!")

print("Program continues")

Последняя инструкция не имеет отступа и не относится к say_hi. При выполнении файла она напечатает свой текст независимо от вызова функции. Нельзя полагаться только на визуальную близость строк — принадлежность задают отступы.

Печать и результат функции

В say_hello нет return с явным значением, поэтому после завершения она возвращает None. Вызов print(say_hello()) сначала напечатает приветствие из тела, затем None внешним print. Для задания нужен обычный вызов say_hello(), без дополнительной печати её возвращаемого значения.

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

Hexlet / Code Basics и участники · Исходный урок и решение · GNU AGPL v3. Определение сохранено; самостоятельная проверка отделена.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.