Функция как тип, параметр и результат другой функции

Функция как тип, параметр и результат другой функции

@ProgHelpBot
  1. Функция как тип
  2. Функция как параметр функции
  3. Функция как результат функции

Функция как тип

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

def say_hello(): print("Hello")


message = say_hello
message()  # Hello

Подобным образом можно через переменную вызывать функцию с параметрами и возвращать ее результат.

def get_sum(a, b): return a + b


operation = get_sum()
result = operation(1, 3)
print(result)  # 4

Функция как параметр функции

Функцию можно передать в качестве параметра в другую функцию.

def print_operation(a, b, operation):
  result = operation(a, b)
  print(result)

def get_sum(a, b): return a + b
def get_multiply(a, b): return a * b


print_operation(1, 3, get_sum)  # 4
print_operation(1, 3, get_mulruply)  # 3

Функция как результат функции

Функция может возвращать другую функцию.

def get_sum(a, b): return a + b
def get_multiply(a, b): return a * b

def select_operation(choice):
  if choice == 1:
    return get_sum
  elif choice == 2:
    return get_multiply


operation = select_operation(1)
print(operation(1, 3))  # 4

operation = select_operation(2)
print(operation(1, 3))  # 3


← Возвращение результата из функции

→ Лямбда-выражения

Report Page