Marcelo Urbano Lima wrote: > class abc: > def __init__(self): > name='marcelo' > print x.name > Traceback (most recent call last): > File "1.py", line 12, in ? > print x.name > AttributeError: abc instance has no attribute 'name'
In Python, you explicitly include a reference to an object when setting or accessing the object's attributes... even when you're inside one of that objects methods. I.e.: class abc: def __init__(self): self.name='marcelo' When you omit the "self." bit, Python creates a variable local to __init__() named "name", and the attribute is never set. This is different from some other OO languages (e.g. C++/Java/C#'s "this"), may take some getting used to. Hope that helps, --Ben -- http://mail.python.org/mailman/listinfo/python-list