please consider the following situation:
under the current directory there's a subdirectory 'package' with two
files: __init__.py and module.py
./package:
__init__.py
module.py
module.py contains:
class A(object):
pass
aModule = A()
now, let's do:
current directory:
import package.module
type(package.module.aModule) <class 'package.module.A'> isinstance(package.module.aModule, package.module.A) # so far good 1 a = package.module.A()
isinstance(a, package.module.A) # so far good
import sys
sys.path.append('package')
import module
a = module.A()
isinstance(a, package.module.A) # will return 0 !!! 0 isinstance(package.module.aModule, module.A) # will return 0 !!! 0
how is it possible that it IS important how you imported a class
definition for isinstance() to work? it's insane!
--
fuf (fu*@mageo.cz)