Я написал код, подобный этому
>>> class a(object):
def __init__(self):
self.__call__ = lambda x:x
>>> b = a()
Я ожидал, что объект класса a должен быть вызываемым объектом, но в конце концов это не так.
>>> b()
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
b()
TypeError: 'a' object is not callable
>>> callable(b)
False
>>> hasattr(b,'__call__')
True
>>>
Я не понимаю, почему. Пожалуйста, помогите мне.