Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Importing * From a Package (http://www.velocityreviews.com/forums/t527296-importing-from-a-package.html)

Patrick Doyle 08-06-2007 02:06 PM

Importing * From a Package
 
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

kyosohma@gmail.com 08-06-2007 06:43 PM

Re: Importing * From a Package
 
On Aug 6, 9:06 am, "Patrick Doyle" <wpds...@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



All times are GMT. The time now is 07:54 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.