import pkg.mod print(pkg.__name__) print(pkg.mod.__name__) print(pkg.mod.foo()) # Import 2nd time, must be same module objects pkg_ = __import__("pkg.mod") print(pkg_ is not pkg.mod) print(pkg_ is pkg) print(pkg_.mod is pkg.mod) # import using "as" import pkg.mod as mm print(mm is pkg.mod) print(mm.foo())
from pkg.mod import foo try: pkg except NameError: print("NameError") try: pkg.mod except NameError: print("NameError") print(foo()) # Import few times, must be same module objects mod_1 = __import__("pkg.mod", None, None, ("foo", )) mod_2 = __import__("pkg.mod", None, None, ("foo", )) print(mod_1 is mod_2) print(mod_1.foo is mod_2.foo) print(foo is mod_1.foo)
from pkg import mod print(mod.foo()) import pkg.mod print(mod is pkg.mod)