Почему это не работает?
>>> class A (unicode):
... def __init__ (self, value):
... super(unicode, self).__init__(str(value).upper())
...
>>> assert A('hello') == u'HELLO'
Traceback (most recent call last):
File "<pyshell#39>", line 1, in <module>
assert A('hello') == u'HELLO'
AssertionError
>>>
Я знаю, что без init метода инициализация объекта по умолчанию будет использовать классы Unicode init (спасибо, MRO), и я знаю, что мой init метод вызывается, но, похоже, он не хочет работать.Даже когда я добавляю дополнительную строку и явно устанавливаю значение параметра value в значение upper, оно все равно не хочет работать.
Хотя я могу (и, вероятно, придется) определить repr и str специальные классы, чтобы получить желаемый эффект, мне немного любопытно, почему это не работает.
Заранее спасибо.