Почему это назначение Python не работает так, как ожидалось?Python

Программы на Python
Ответить
Anonymous
 Почему это назначение Python не работает так, как ожидалось?

Сообщение Anonymous »

Это возвращает то, что вы ожидаете:

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

class My(object):
def __len__(self):
return 6

a = My()
print(len(a))
Но это вызывает ошибку:

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

class My2(object):
pass

b = My2()
b.__len__ = lambda x: 6
print(len(b))

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

TypeError: object of type 'My2' has no len()
Почему?

Подробнее здесь: https://stackoverflow.com/questions/479 ... y-expected
Ответить

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

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

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

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

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