Jonas H. wrote:
On 10/21/2010 08:09 PM, Brendan wrote:
Two modules:
x.py:
class x(object):
     pass

y.py:
from x import x
class y(x):
     pass

Now from the python command line:
import y
dir(y)
['__builtins__', '__doc__', '__file__', '__name__', '__package__',
'x', 'y']

I do not understand why class 'x' shows up here.

Because that's how `import` behaves. It imports *every* member of the module into the importing module's global namespace (except for attributes that start with an underscore).

Um, no.  (unless you do "from <whatever> import *" at the module level)

What it does is add whatever you imported into the namespace where you imported it.

Because y.py has "from x import x" the x class from x.py is added to the y.py namespace.

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to