Вы не получите такого рода автозаполнение в динамическом языке, как Python, которое вы получаете в более явно типизированных языках.Обратите внимание:
def MyFunction(MyArg):
MyArg.
Когда вы набираете «.»в MyArg.
вы ожидаете, что редактор предоставит список методов с аргументами.Это не может произойти в Python, потому что у редактора нет абсолютно никакой возможности узнать, какой тип (или типы) может быть MyArg
.Даже компилятор Python не имеет этой информации при компиляции кода.Поэтому, если вы введете MyArg.SomeNonExistentFunction()
, вы не получите никаких сообщений об ошибках до времени выполнения.
Если вы написали что-то вроде:
def MyFunction:
MyObject = MyClass(SomeArg)
MyObject.
, тогда достаточно умный редактор может предоставить список методов, доступных после этого последнего ".".
Вы обнаружите, что те редакторы, которые предоставляют автозаполнение "иногда", делают это в случаях, аналогичных моему второму примеру, ине делать это в случаях, аналогичных первым.С Python это так хорошо, как вы можете получить.