In general you are more likely to get helpful responses from this group if you post the actual code that has the problem and include the actual traceback. However...I'm new to Python. In general I manage to understand what is happening when things go wrong. However, the small program I am writing now fails with the following message:
AttributeError: ClassA instance has no attribute '__len__'
Following the traceback,I see that the offending line is
self.x = arg1 + len(self.y) + 1
len calls the object's __len__ method. self.y is bound to something (an instance of ClassA) that apparently has no __len__ method
In this case self.y is bound to something different i.e., 'y' :an object of type str, which has a __len__ method:
Why should this call to the built-in len() fail? In a small test program it works with no problems:
class foo: def __init__(self): self.x = 0 self.y = 'y'
def fun(self, arg1): self.x = arg1 + len(self.y) + 1
a = foo() a.fun(2)
>>> 'y'.__len__()
1
Michael
-- http://mail.python.org/mailman/listinfo/python-list