What attributes does python import from a module?
我检查了一些类似这样的答案,但是我还有一个问题,关于从Python中的模块导入哪些属性。
例如,我有一个模块
1 2 3 4 5 6 7 8 | a=10 b=20 print('a={0}, b={1}'.format(a,b)) def t9outer(): print('in imported module') def t9inner(): print('inner function') |
然后我像这样导入这个模块:
1 | list(filter(lambda x: not x.startswith('__'),dir(temp9))) |
我得到这个输出:
1 | ['a', 'b', 't9outer'] |
我的问题是
a 和b 仅在temp9 的范围内是全局的,而不是跨模块的(正如上面的答案所说),那么它是如何导出的呢?为什么
t9inner() 没有进口,即使它是由t9outer() 所附,进口?
两个问题的答案相同。导入模块级别定义的所有内容;不导入模块级别未定义的任何内容。