Importing * From a Package

kyosohma at gmail.com kyosohma at gmail.com
Mon Aug 6 14:43:36 EDT 2007


On Aug 6, 9:06 am, "Patrick Doyle" <wpds... at gmail.com> wrote:
> Reading through the Python tutorial, I got to section 6.4.1,
> "Importing * From a Package", which states:
>
> "If __all__ is not defined, the statement from Sound.Effects import *
> does not import all submodules from the package Sound.Effects into the
> current namespace; ..."
>
> It then goes on to state:
>
> "[It] imports whatever names are defined in the package [including]
> any submodules of the package that were explicitly loaded by previous
> import statements."
>
> I am curious to learn the rationale for this behavior, since it just
> caught me by surprise (hence the reason I was pouring over the
> tutorial document in such detail :-))
>
> Thus far, everything in Python has seemed very intuitive to me,
> however the behavior of "from package import *" baffles me.
>
> So I figured I'd ask -- why does Python behave this way.
>
> (And now, I'm going to do some code cleanup :-))
>
> --wpd

The only module I know of that most people tell you to do a "from x
import *" is Tkinter. I think that's pretty dumb myself. If you don't
want to type some module's name out, then do something like "import
Tkinter as tk".

Mike




More information about the Python-list mailing list