Alan Gauld wrote:
"Mark Young" <marky1...@gmail.com> wrote
Thanks everybody, I didn't know modules ran code when you imported
them, I
just thought they defined the functions, etc. in them.
They do that too.
But in Python a function definition is created by running the code!
So you write
def foo():
return 42
To define foo you need to execute those two lines of code.
The result is that you create a function object.
So when you import a moduile it runs all of the code in there
Almost. It runs all the top-level code.
def foo():
print 3
def foo(): will run, defining the function foo
print 3 will NOT run
unless some other top-level code CALLs foo such as
foo()
most of the code usually consists of function and variable
and class
definitions.
But it can be anything at all.
Note also that "usually" is very hard to measure unless you read and or
write many many modules.
--
Bob Gailer
Chapel Hill NC
919-636-4239
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor