我检查了一些答案,比如this,但我还有另一个问题,就是从python中的模块导入哪些属性。
例如,我有一个模块temp9.py
a=10
b=20
print('a={0}, b={1}'.format(a,b))
def t9outer():
print('in imported module')
def t9inner():
print('inner function')然后导入这个模块,如下所示:import temp9。如果我使用以下命令获取导入文件的属性:
list(filter(lambda x: not x.startswith('__'),dir(temp9)))我得到了这个输出:
['a', 'b', 't9outer']我的问题是
a和b仅在temp9的范围内是全局的,而不是跨模块的(正如上面的答案所述),那么它是如何导出的呢?t9inner()没有导入,即使它被导入的t9outer()封装了呢?发布于 2017-09-17 17:26:35
这两个问题的答案是相同的。在模块级别定义的所有内容都是导入的;没有在模块级别定义的任何内容都不是导入的。
https://stackoverflow.com/questions/46266640
复制相似问题