__bases__ misleading error message
marfig at gmail.com
Sat Jan 24 22:14:24 CET 2015
In article <54c39366$0$13006$c3e8da3$5496439d at news.astraweb.com>,
steve+comp.lang.python at pearwood.info says...
> > AttributeError: 'Sub' instance has no attribute '__bases__',
> > AttributeError: 'foo' object has no attribute '__bases__'
> The first would be nice. The second is impossible: objects may have no name,
> one name, or many names, and they do not know what names they are bound to.
> So the Sub instance bound to the name 'foo' doesn't know that its name
> is 'foo', so it cannot display it in the error message.
Thanks for the information! :)
But that begs the OT question: How does Python maps names to memory
addresses in the interpreter?
from module import a_name
y = a_name + 1
How does python interpreter know how to map 'name' to the correct memory
location, if this __main__ code is only ran after 'module' code?
More information about the Python-list