0

我的代码如下所示:

class C(str):
    def __init__(self, a, b):
        print('init was called!')
        super().__init__(b)

        self.a = a


c = C(12, 'c')

当我尝试运行它时,它给了我以下错误:

Traceback (most recent call last):
  File "C:\Users\math4tots\eclipseMeta\hemi\SalgebraPL\sapl.py", line 15, in <module>
    c = C(12, 'c')
TypeError: coercing to str: need bytes, bytearray or buffer-like object, int found

我很困惑。甚至似乎都没有调用我的 init 方法。这是怎么回事?

我不确定它是否相关,但我使用的是 Python 3.2

4

1 回答 1

2

我不确定您为什么会收到您遇到的特定错误,但无论如何您都需要__new__覆盖__init__.

于 2012-09-01T22:27:08.290 回答