Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions Doc/reference/import.rst
Original file line number Diff line number Diff line change
Expand Up @@ -490,21 +490,19 @@ submodule. Let's say you have the following directory structure::
spam/
__init__.py
foo.py
bar.py

and ``spam/__init__.py`` has the following lines in it::
and ``spam/__init__.py`` has the following line in it::

from .foo import Foo
from .bar import Bar

then executing the following puts a name binding to ``foo`` and ``bar`` in the
then executing the following puts name bindings for ``foo`` and ``Foo`` in the
``spam`` module::

>>> import spam
>>> spam.foo
<module 'spam.foo' from '/tmp/imports/spam/foo.py'>
>>> spam.bar
<module 'spam.bar' from '/tmp/imports/spam/bar.py'>
>>> spam.Foo
<class 'spam.foo.Foo'>

Given Python's familiar name binding rules this might seem surprising, but
it's actually a fundamental feature of the import system. The invariant
Expand Down