Jesse Aldridge wrote: > I have one module called foo.py > --------------------- > class Foo: > foo = None > > def get_foo(): > return Foo.foo > > if __name__ == "__main__": > import bar > Foo.foo = "foo" > bar.go() > --------------------- > And another one called bar.py > --------------------- > import foo > > def go(): > assert foo.get_foo() == "foo" > ---------------------- > When I run foo.py, the assertion in bar.py fails. Why?
There are actually two get_foo()s, since foo.py is run (giving it the name "__main__") and imported (giving it the name "foo"). You will probably find that __main__.get_foo() == "foo". regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list