namespace confusion

Duncan Booth duncan at
Wed Aug 8 15:23:26 CEST 2001

Mark Robinson <m.1.robinson at> wrote in 
news:3B7135E2.40701 at

> The problem I am having is I can't access the functfirst() from 
> It makes no differce if I import it or not. What am I doing 
> wrong or not doing that I should?

The example you posted has several mistakes, so it isn't immediately clear 
which are mistyping and which might be your actual problem.

The spelling of functSecond/functCecond seems to vary, but this probably 
isn't related to your query.

Your contains a call to functfirst, but no actual definition. 
Perhaps you cannot call the function because you haven't defined it?

Alternatively perhaps you have a different that you failed to post 
which really does define the function but has some other lines in it as 
well. If it happens to try to 'import second' then this would also cause 
the problem you have described, because the 'from first import *' in will be executed before has created any variables to be 

But I think the real problem is that you are using 'from module import *'. 
This form of the import statement makes a copy of all the variables that 
exist in another module at the time when the import is executed. This is 
very rarely what you want. It is almost always better to just import the 
module and access the values when you need them. So becomes:

import first

def functSecond():
	first.functfirst() #

and provided you actually define the function in first this call should 

Duncan Booth                                             duncan at
int month(char *p){return(124864/((p[0]+p[1]-p[2]&0x1f)+1)%12)["\5\x8\3"
"\6\7\xb\1\x9\xa\2\0\4"];} // Who said my code was obscure?

More information about the Python-list mailing list