在Python语言中,在什么情况下可以赋值给实例的__class__
属性,什么时候不可能赋值?
像TypeError: __class__ assignment: only for heap types
这样的错误消息并不能真正为我做到这一点。
发布于 2011-01-30 01:12:05
只能为用户定义类(即使用class
关键字定义)的实例的__class__
属性赋值,并且新值也必须是用户定义类。类是新样式还是旧样式都无关紧要。(不过,您不能将它们混合在一起。您不能将旧式类实例转换为新式类实例。)另请参阅Python bug跟踪器中的this issue,它还抱怨错误消息有点难以理解。
只是补充一下Rafe在上面的评论中所说的:永远不会在生产中这样做。
https://stackoverflow.com/questions/4838145
复制相似问题