在PyDev中,如何为方法返回的实例获取自动完成功能?

Jim*_* L. 3 python pydev

当我使用一个Class-A返回实例的方法时Class-B,PyDev将不会为我的实例提供自动完成功能Class-B.有没有办法使这项工作,所以我不会错误输入方法名称或忘记参数?否则,PyDev失去了很多价值!

g.d*_*d.c 5

我想知道你是否正在使用某些类/容器的组合来阻碍pydev预测返回值类型的能力.这个超级简单的示例适用于我的系统,我可以在inst以下方面完成完整的代码:

class A(object):
  def __init__(self, params = None):
    self.myBs = [B() for _ in range(10)]

  def getB(self):
    return self.myBs[5]

class B(object):
  def foo(self):
    pass

inst = A().getB()
# Auto-complete broken.  PyDev thinks inst is a list.
assert isinstance(inst, B)
# Auto-complete working again.
Run Code Online (Sandbox Code Playgroud)

在详细说明之后,该assert语句对于触发PyDev的自动完成功能是必要的.