我可以帮助您翻译以下内容,这是关于编程的:
当我运行module2时,它给了我这个输出:
我很好奇当我们导入一个再次导入另一个模块时会发生什么。因此,我创建了两个模块:module1和module2。
module1:
import random
print(random.randint(0,10))
print("module1 work")
模块2:
import module1
print("module2 work")
当我运行module2时,它给了我这个输出:
。
1
module1 work
module2 work
所以,当我导入module1
时,我决定确实导入了random
。但是,当我在Shell中输入print(random.randint(0,10))
时,它会抛出一个NameError: name 'random' is not defined
。因此,random
并没有从module1
中导入。但在这种情况下,为什么module2
会打印出1
,而没有像Shell一样抛出同样的错误?
module
对象已经绑定到全局命名空间中的一个名称。尝试使用module1.random.randint(0,10)
。 - chepner