次のモジュールがあります。
ファイルa.py
class Foo(object):
x = 5
if __name__ == '__main__':
print Foo.x #5
Foo.x = 7
print Foo.x #7
b = __import__('b')
print b.Bar.x #5
ファイルb.py
from a import Foo
class Bar(Foo):
pass
ファイルc.py
if __name__ == '__main__':
import a
print a.Foo.x #5
a.Foo.x = 7
print a.Foo.x #7
b = __import__('b')
print b.Bar.x #7
a.py を実行すると 5,7,5 になり、b.py を実行すると 5,7,7 になります。正しい答えがどうあるべきかはわかりませんが、2つが一貫していると思います。