Komodo Python 自动完成:通过变量元数据推断类型?
我正在使用Komodo Edit来进行Python开发,我想让自动补全功能发挥最大的作用。
如果我这样做:
a = A()
a.
我可以看到A的成员列表。
但是如果我这样做:
a = [A()]
b = a[0]
b.
就不行了。我想要能够这样做:
a = [A()]
b = a[0]
"""b
Type: A
"""
b.
那么我该如何告诉自动补全,b是A类型的呢?
2 个回答
3
我觉得你可能很难解决这个问题。原因是,在Python中,除了最简单的情况外,静态推断变量的类型真的很困难。通常,变量的类型直到运行时才会被知道,所以自动补全就无法实现。
这个开发环境会进行一些静态分析,来推测出明显的和最有可能的类型,但我敢打赌它在处理容器里的元素时甚至都不会尝试。虽然我们可以确定b
是类型A
,但即使是你代码中的小变化也可能让它无法判断,尤其是当它在一个可变的容器里时。
顺便说一下,我在完整的Komodo IDE上试过这个,效果也没有好到哪里去。我听说Wing IDE的代码补全功能很优秀,但我也不确定它能做得更好。