我是Python的新手。最近,我一直在閱讀Python類的內置方法。這裏的問題是:'NoneType'對象在定義時不支持項目分配__getattribute__方法
class Test:
def __setattr__(self, key, value):
self.__dict__[key] = value
def __getattribute__(self, item):
pass
if __name__ == '__main__':
T = Test()
setattr(T, 'xx', 33)
print(getattr(T, 'xx'))
當我運行該腳本,我得到錯誤信息:
TypeError: 'NoneType' object does not support item assignment
但是當我刪除了__getattribute__
方法,一切運行良好。 我不知道這是怎麼發生的。爲什麼__getattribute__
方法會影響我的對象T
的數據類型?
它工作正常,在蟒蛇2.但是在Python 3中出現錯誤! –