Вопрос по python - Общение Python мододелов

Вопрос Вопрос по python

Регистрация
26 Авг 2013
Сообщения
72
Репутация
0
Спасибо
0
Монет
0
class TitledText(str):

def __new__(cls, content, text_title, *args, **kwargs):

instance = super().__new__(cls, content, text_title)

return instance



def title(self):

return self._text_title





titled = TitledText('Сreate a class Soda', 'Homework')

print(titled)

Почему выдаёт ошибку?
 
Регистрация
23 Июл 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Потому, что super() - это класс str. Конструктор которого принимает ОДНО значение.
Ты же вызовом super().__new__(cls, content, text_title) передаёшь ДВА значения: content и text_title, что и вызывает ошибку.
Фактически, ты пытаешься выполнить: str('Сreate a class Soda', 'Homework')
 
Регистрация
28 Дек 2013
Сообщения
91
Репутация
1
Спасибо
0
Монет
0
не соответствующее количество аргументов
 
Сверху Снизу