【发布时间】:2021-05-15 11:35:36
【问题描述】:
我通常不会对 python 中的变量范围考虑太多,但我想看看是否有一个明确的解释。给定两个名为 main.py 和 utils.py 的文件:
utils.py
def run():
print(L)
main.py
import utils
def run():
print(L)
if __name__ == '__main__':
L = [1,2]
run()
utils.run()
main.py 中的第一个 run() 调用运行良好,尽管 L 没有被输入到 run(),并且 utils.run() 调用引发了 NameError。 L 是一个全局变量,可用于main.py 中定义的所有函数吗?
如果我用from utils import * 而不是import utils 导入utils,那会改变什么吗?
【问题讨论】:
标签: python scope global-variables