Что означает символ -> (символ стрелки больше, чем стрелка) в сигнатуре метода Python?

В конце метода python есть символ -> или dash-more-than, и я не уверен, что это значит. Его можно назвать стрелой.

Вот пример:

 @property def get_foo(self) -> Foo: return self._foo 

где self._foo является экземпляром Foo.

Я предполагаю, что это какое-то объявление статического типа, чтобы сказать интерпретатору, что self._foo имеет тип Foo. Но когда я проверил это, если self._foo не является экземпляром Foo, ничего необычного не происходит. Кроме того, если self._foo имеет тип, отличный от Foo, допустим, что это был int , тогда type(SomeClass.get_foo()) возвращает int . Итак, в чем смысл -> Foo ?

Эта концепция трудно найти, потому что это символ без общего имени, а термин «стрелка» вводит в заблуждение.

  • Синонимы арабского слова Net в Python?
  • Импорт bs4 в Python 3.5
  • Как объединить два словаря в одном выражении?
  • PyCharm не может разрешить PyGObject 3.0, но код работает нормально
  • Печать нескольких строк в одном выражении без пробелов
  • Python CGI - UTF-8 не работает
  • Добавление более одного значения в словарь при циклическом перемещении по строке
  • Python 3 - Получить текст из тега в beautifulSoup
  • One Solution collect form web for “Что означает символ -> (символ стрелки больше, чем стрелка) в сигнатуре метода Python?”

    Это аннотации функций . Он может использоваться для присоединения дополнительной информации к аргументам или возвращаемым значениям функций. Это полезный способ сказать, как должна использоваться функция. Аннотации функций хранятся в __annotations__ функции.

    Использовать случаи ( из документации )

    • Предоставление информации о наборе текста

      • Проверка типа
      • Пусть IDE показывают, какие типы функция ожидает и возвращает
      • Функция перегрузки / общие функции
      • Мосты на иностранном языке
      • Приспособление
      • Предикатные логические функции
      • Отображение запросов базы данных
      • Параметрирование параметров RPC
    • Дополнительная информация

      • Документация для параметров и возвращаемых значений

    Из python-3.5 он может использоваться для Type Hints

    Python - лучший язык программирования в мире.