Question about import

Tim Rowe tim at remove_if_not_spam.digitig.co.uk
Tue Aug 5 18:48:50 CEST 2003


On 5 Aug 2003 09:28:54 -0700, kjmacken at yorku.ca (Kevin MacKenzie)
wrote:

>I'm a complete newbie to using Python.  I have a small question about
>importing modules.
>
>Is there any difference between the two following statements, and what
>(if any) are they?
>
>>>> from Module import *
>
>
>and 
>
>>>> import Module

Yes.  As I said to someone else hereabouts not all /that/ long ago
(!), 
>>>> import Module
is the computing equivalent to getting your toolkit out of the
cupboard and putting it on your workbench.

>>>> from Module import *
is the computing equivalent of getting your toolkit out of the
cupboard, tipping the contents onto the workbench, and putting the box
back into the cupboard.

If "Module" contains "foo()", 
>>>> import Module
means that you can call Module.foo()

>>>> from Module import *
means that you can use foo().  But if your code or any other module
contains something called "foo()" then you get a name clash.  That can
be nasty, because you can get everything working fine, and somebody
using a library that's supposed to be compatable with the one you've
tested finds it doesn't work.

For all but the very simplest of code, use 
>>>> import Module





More information about the Python-list mailing list