Python自我更新__立即在__getattribute__中dict__



我正在做嵌套对象,并且我能够执行点选项卡自动完成来导航到对象的下一个级别。我知道调用了__getattribute__,如果在self.__dict__中找不到该名称,则将调用__getattr__。如果我错了,请纠正我。

是否可以在覆盖__getattribute__时更新self.__dict__,并且当我执行点选项卡时,它会显示要自动完成的更新选项?

我目前的实现:

def __getattribute__(self, name):
if condition:
object.__setattr__(self, '__dict__', dictionary to be added)
else:
return object.__getattribute__(self, name)

我可以添加对象,但它在第一个选项卡中不可用,只在第二个选项卡中可用。

我试图实现的是让选项卡在第一个选项卡上显示更新的对象/变量。我想的是return,而不仅仅是__setattr__,但我不知道该返回什么。欢迎任何指针。

重写__dir__,如在pyreadline中所称。

最新更新