В чем отличие вызова функции с скобками и без?

1. С скобками ()

  • Когда вы пишете func(), функция выполняется сразу.

  • Возвращается результат выполнения функции.

def greet():
    print("Hello!")
    return 42

result = greet()  # функция вызывается
print(result)     # 42

Вывод:

Hello!
42

2. Без скобок

  • Когда вы пишете func, вы не вызываете функцию, а получаете сам объект функции.

  • Можно присвоить переменной, передать как аргумент, хранить в списке.

def greet():
    print("Hello!")

f = greet  # ссылка на функцию
f()        # вызов функции через переменную

Вывод:

  • Это удобно для декораторов, callback-функций, хранения функций в структурах данных.


3. Важные моменты

Синтаксис
Что происходит
Пример использования

func()

Функция вызывается, возвращает результат

Вызов функции в тесте, обработка результата API

func

Получаем объект функции

Передача в декоратор, callback, список функций


💡 Пример в автотестах:

Last updated