gpt4 book ai didi

python - 打印在 __getattr__ 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 08:06:10 25 4
gpt4 key购买 nike

我有这门课:

class Meta:
def __getattr__(self, atr):
print('get', atr)
def __setattr__(self, atr, atr_value):
print('{0} with value {1} added'.format(atr, atr_value))
self.__dict__[atr] = atr_value

当我设置一个属性时 - print 有效:

>>> x.a = 1
a with value 1 added

但是当我调用它时:

>>> x.a
1

返回的值没有print 输出。

非常感谢您的帮助。

最佳答案

__getattr__ 仅在属性不存在时调用。您想覆盖 __gettattribute__

def __getattribute__(self, name):
print("get", name)
return object.__getattribute__(self, name)

关于python - 打印在 __getattr__ 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30874966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com