Почему у меня проблема с созданием класса, наследующего от str (или также от int)
class C(str):
def __init__(self, a, b):
str.__init__(self,a)
self.b = b
C("a", "B")
TypeError: str() takes at most 1 argument (2 given)
То же самое происходит, если я пытаюсь использовать int
вместо str
, но он работает с пользовательскими классами. Мне нужно использовать __new__
вместо __init__
? почему?