Komodo Python auto complete: вывод типа переменными метаданными?

Я использую Komodo Edit для разработки Python , и я хочу извлечь максимум из авто.

Если я это сделаю:

a = A() a. 

Я вижу список членов A.

Но если я это сделаю:

 a = [A()] b = a[0] b. 

Это не работает. Я хочу иметь возможность сделать это:

 a = [A()] b = a[0] """b Type: A """ b. 

Итак, как я могу сказать авто, что b имеет тип A?

  • Komodo - просматривать переменные и выполнять код во время паузы в программе
  • Calltips / Docstring во время просмотра списка функций?
  • Virtualenv и Komodo IDE 6 в Windows
  • Komodo Edit - завершение кода для Django?
  • Комодо Редактировать отключить автозаполнение
  • Создание свойств экземпляра класса из словаря?
  • Макросы Python на Mac с использованием Komodo
  • Как запустить IDLE (редактор Python) без использования ярлыка в Windows Vista?
  • 2 Solutions collect form web for “Komodo Python auto complete: вывод типа переменными метаданными?”

    Это не отвечает на ваш вопрос, но с помощью Wing IDE вы можете дать подсказки анализатору типов с assert isinstance(b, A) . См. Здесь . Я не нашел способ сделать это с Komodo, хотя, по-видимому, это возможно при написании PHP или JavaScript.

    Обновление :

    Я нашел способ обмануть Комодо в этом:

     if 0: b=A() 

    Это работает (по крайней мере, на Komodo 5.2) и не имеет побочных эффектов, но обязательно смущает того, кто читает ваш код.

    Я не думаю, что вам повезет с этим. Проблема в том, что довольно сложно статически выводить тип переменных в Python, за исключением самых простых случаев. Часто тип неизвестен до времени выполнения, поэтому автоматическое завершение невозможно.

    IDE делает некоторый статический анализ, чтобы выработать очевидные и наилучшие догадки, но я готов поспорить, что он даже не пытается использовать элементы в контейнере. Хотя мы можем решить, что b имеет тип A даже небольшие вариации вашего кода могут сделать его непознаваемым, особенно, поскольку он находится в изменяемом контейнере.

    Кстати, я пробовал это на полной платформе Komodo, и это не лучше. Я слышал, что Wing IDE имеет отличное завершение кода, но я не был бы уверен, что он может сделать лучше.

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