我很难让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自动完成功能知道在这里返回什么?