Я обновился до IPython 7.5.0 и теперь автозаполнение динамических свойств (т.е. переопределение getattr
) класса больше не работает.
Например:
class Foo:
def __init__(self):
self.d = None
def c(self): pass
def __dir__(self):
return ["a", "b", "c", "d"]
f = Foo()
f.<tab>
Завершено толькоc()
и d
.В документации по IPython сказано, что переопределение dir - это все, что нужно здесь , и, похоже, это сработало ранее.
Я на Windows 10, Python 3.6.4, IPython 7.5.0, Jupyter1.0, Jupyter-Console 5.2.