Типы данных функций более высокого порядка в python

#python #higher-order-functions #callable

#python #функции более высокого порядка #вызываемый

Вопрос:

Я должен ввести подсказку для этой функции, я понимаю, что она принимает список и функцию f. Это понятно. он принимает значение int в списке и выполняет «что-то» с функцией f и добавляет ее к строке. Но что входит в подсказку типа f: as? Вызываемый и что дальше?

 def g(L: list[int], f: Callable[[], ]) -> str:
  result = ""
  for el in L:
    result =f(el)
  return result
 
  Mypy output:

data_types_2.py:13: error: Unsupported operand types for   ("str" and "int")

        result =f(el)
 

Ответ №1:

Первым списком должны быть типы аргументов f ; последним элементом должен быть его возвращаемый тип.

Ссылка: https://docs.python.org/3/library/typing.html#callable

Ответ №2:

Я нашел решение

 def g(L: list[int], f: Callable[[int], str]) -> str:
  result = ""
  for el in L:
    result =f(el)
  return result