【发布时间】:2011-03-02 02:15:36
【问题描述】:
我希望能够做到:
>>> class a(str):
... pass
...
>>> b = a()
>>> b.__class__ = str
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __class__ assignment: only for heap types
【问题讨论】:
-
我想说这是来自解释器的一个相当糟糕的信息,因为“堆类型”这个术语对于大多数 Python 程序员来说并不熟悉,而且似乎没有任何方法在 Python 3 中创建一个类,其实例具有可分配的 class。或者至少我还没有找到。
-
@holdenweb bugs.python.org/issue4600
-
不错的一个。我的意思是,当然,一个可分配的
__class__属性。