考虑以下情况:
#module.py
def test():
foo = bar+'foo'
print foo
if __name__ == '__main__':
bar='test'
test()
主要文件是:
#main.py
import module
bar = 'test'
module.test()
运行main.py显然会生成NameError
。我知道有几种方法可以解决这个问题(例如,重新定义main.py中的函数),但我的问题是:如何将bar变量添加到函数作用域,而无需修改module.py代码和更一般地说,在这种情况下,它被认为是最佳实践?
编辑:
使用from module import *
同样的问题呢?