标签:code img 引用 alt 先来 pre 模块 python 导入模块
定义:略!
先来一个模块spam.py
#spam.py print(‘from the spam.py‘) money=1000 def read1(): print(‘spam模块:‘,money) def read2(): print(‘spam模块‘) read1() def change(): global money money=0
import spam (从硬盘将spam读到内存中,执行一遍)
导入后,从上至下执行模块内部所有的代码。
结果是:from the spam.py
但是,在第二次导入的时候,就不用在执行模块里面的代码了。因为之前该模块已经加载过。
import spam #m1=111111 import spam #m2=m1 import spam import spam
总结:
# 导入模块,只会在第一次导入时执行源文件的代码 # 如果模块已经加载到内存了,下一次导入直接引用内存中导入的结果
下面看内存当中都加载了哪些模块:
import sys print(sys.modules) print(‘spam‘ in sys.modules)
字典形式列出;里面有上面的spam模块,因为spam之前已经加载完成了。
接下来,名称空间:
运行一个执行文件就会产生一个名称空间。import后又产生一个名称空间,至此这个“模块的使用.py”执行文件产生了两个名称空间,且两个内存空间是互相独立的。
#import 导入文件都做了哪些事? #1 以源文件(spam.py)为准产生一个名称空间 #2 以刚刚产生的名称空间为准,执行源文件的代码 #3 会在当前文件中定义一个名字,这个名字就是模块名,用来引用模块中的名字
标签:code img 引用 alt 先来 pre 模块 python 导入模块
原文地址:http://www.cnblogs.com/guoxiangqian/p/7694704.html