IPython自动完成功能不适用于返回动态对象的函数

时间:2020-05-01 20:15:48

标签: python ipython

我很难让IPython 7.13.0自动完成功能适用于动态生成的类。这是一个示例:

Foo = type('obj', (object,), {})
def bar(this, text):
    print(text)
setattr(Foo, 'bar', bar)

到目前为止,自动完成功能有效:

Foo().b TAB
Foo().bar

接下来,我们使用名为Foobar的函数创建类foo,在其中返回Foo的对象。

class Foobar:
    def foo(self):
        return Foo()

现在尝试自动完成foo函数的返回值时,它无法正常工作:

Foobar().f TAB
Foobar().foo
Foobar().foo().b TAB

有没有办法让IPython自动完成功能知道在这里返回什么?

0 个答案:

没有答案