Ошибка конструктора при перегрузке встроенного типа «байты»Python

Программы на Python
Ответить
Anonymous
 Ошибка конструктора при перегрузке встроенного типа «байты»

Сообщение Anonymous »

Вот очень простой фрагмент, демонстрирующий мою проблему:

Код: Выделить всё

class MyBytes ( bytes ):
def __init__(self,buffer,nb):
self[:] = bytes( buffer )*nb

b = MyBytes( b'123',5 )
Когда я запускаю его, я получаю следующую ошибку:

Код: Выделить всё

 b = MyBytes( b'123',5 )
^^^^^^^^^^^^^^^^^^^
TypeError: bytes() argument 'encoding' must be str, not int
Как будто мою перегрузку конструктора проигнорировали. Есть ли хитрость при перегрузке встроенного типа?

Подробнее здесь: https://stackoverflow.com/questions/798 ... type-bytes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»