AO7 发表于 2021-9-25 10:50:50

为什么给实例添加属性的时候会报错

本帖最后由 AO7 于 2021-9-25 11:08 编辑

pygame里面有一个pygame.Surface类,我这里实例化了一个image,但是当我想要给image创建属性的时候

比如 image.name = "abc",程序就报错了,说pygame.Surface object has no attribute 'abc',

可是我记得一个对象在实例化之后是可以在外部添加属性的啊

比如我

class Test():
        pass

x = Test()
x.a = 1
print(x.a)

=========
1

这样是没问题的啊
可是为什么我给image添加name属性就报错??
会不会Surface类定义的时候有什么写法让这个类不允许添加属性呢?

AO7 发表于 2021-9-25 11:08:03

额,我刚刚去问了一下群里的人,他们说可能是Surface引用了__slots__属性来限制了Surface,目前看来这应该就是答案了
页: [1]
查看完整版本: 为什么给实例添加属性的时候会报错