【发布时间】:2012-09-05 02:53:12
【问题描述】:
假设有一组类 Map1,Map2,Map3,... 都是从 BaseMap 扩展而来的,我使用一些反射机制来获取子 Map 的实例。我想动态获取其中一个类的实例并将其存储在变量 m 中,并让 pydev 将类型识别为 BaseMap,以便我可以在其上使用单词补全。
我发现一种解决方案是添加代码
if False:
m = BaseMap(0,0,0)
在分配m 之后和使用它之前。 if 条件中的那一行永远不会被执行,但它声明 m 是一个 BaseMap 类型的对象。
这可能看起来很傻,但确实有效。还有其他方法吗?
【问题讨论】:
-
Pydev Code Completion for everything 的可能重复该问题的答案更加完整和最新,包括不需要断言的 sphinx
:type m: BaseMap表示法。