Overriding a function...
programmer.py at gmail.com
programmer.py at gmail.com
Mon Jun 19 14:42:38 EDT 2006
Suppose I have this module `mymodule.py' -
# mymodule.py - begin
def test():
print "original"
# mymodule.py - end
Now assume that I do this in some arbitrary module ->
def override():
print "test is overridden"
import mymodule
mymodule.test = override
Two questions -
1) If mymodule is subsequently imported, will my `override' function be
used, or will python magically `fix' (or break depending on your
perspective) mymodule and use the original mymodule.test function?
2) Once I assign mymodule.test with override, will modules that
imported my module *PRIOR* to the assignment get override, or will they
keep the original function test()?
I hope that makes sense.
Thanks!
jw
More information about the Python-list
mailing list