⛅"spam.py" 文件
print("i am spam")# 只要执行此文件就会打印 "i am spam"
x =1000defaaa():print("i am spam.aaa")defbbb():print("i am spam.bbb")
aaa()defchange():global x
x =0
⛅"run.py" 执行文件
import spam # 导入模块先执行一次被导入模块文件, 会打印 "i am spam"import spam # 之后的导入都是直接引用第一次导入的结果, 不会重复执行文件import spam
x =2000# 当前执行文件下的变量 "x"
spam.aaa()# 使用模块的 "aaa" 功能, 打印 "i am spam.aaa"
spam.bbb()# 使用模块的 "bbb" 功能, 打印 "i am spam.bbb" 并调用模块的 "aaa" 打印 "i am spam.aaa"
spam.change()# 使用了模块的 "change" 功能,改变的是定义阶段就规定好了的去 "spam" 名称空间找变量名 "x"print(x)# 所以这里打印的还是 "run.py" 的 "x" : 2000