Ответ
Если функция в Python не содержит оператора return
или оператор return
используется без указания возвращаемого значения (например, просто return
), то по умолчанию она всегда возвращает объект None
.
None
— это специальный объект в Python, который представляет отсутствие значения, нулевое или пустое значение. Он является синглтоном (есть только один объект None
в памяти) и часто используется для обозначения того, что функция выполнила свою работу, но не произвела конкретного результата, который нужно было бы вернуть.
Пример:
def greet(name: str):
"""
Эта функция печатает приветствие, но не возвращает явного значения.
"""
print(f"Hello, {name}!")
def do_nothing():
"""
Эта функция не делает ничего и не имеет оператора return.
"""
pass
def explicit_none_return():
"""
Эта функция явно возвращает None.
"""
return None
def simple_return():
"""
Эта функция использует return без значения.
"""
return
# Вызов функции greet
result_greet = greet("Alice")
print(f"Результат greet: {result_greet} (тип: {type(result_greet)})")
# Ожидаемый вывод: Hello, Alice!
# Результат greet: None (тип: <class 'NoneType'>)
# Вызов функции do_nothing
result_nothing = do_nothing()
print(f"Результат do_nothing: {result_nothing} (тип: {type(result_nothing)})")
# Ожидаемый вывод: Результат do_nothing: None (тип: <class 'NoneType'>)
# Вызов функции explicit_none_return
result_explicit = explicit_none_return()
print(f"Результат explicit_none_return: {result_explicit} (тип: {type(result_explicit)})")
# Ожидаемый вывод: Результат explicit_none_return: None (тип: <class 'NoneType'>)
# Вызов функции simple_return
result_simple = simple_return()
print(f"Результат simple_return: {result_simple} (тип: {type(result_simple)})")
# Ожидаемый вывод: Результат simple_return: None (тип: <class 'NoneType'>)
Как видно из примера, во всех случаях, когда функция не возвращает явного значения, Python автоматически возвращает None
.