
我们拿time模块并使用其中的time功能进行举例
import time
print(time.time)import首次导入模块发生了3件事:
from time import time
print(time)from...import...首次导入模块发生了3件事:
相同点:
不同点
_all_
如果一个模块的文件内写有_all_
import 模块名字,默认导入所有模块
而当模块中出现_all_时候,他只会导入_all_后面列表内的名称创建两个模块
# m1.py
print('from m1.py')
from m2 import x
y = 'm1'# m2.py
print('from m2.py')
from m1 import y
x = 'm2'应用程序导入模块
# run.py
import m1第一种
把m1中吧form m2 import x 将能找到的y放置form m2 import x,上面,让他在没有导入模块的时候就发现y从而不会寻找
# m1.py
print('from m1.py')
y = 'm1'
from m2 import x第二种
把from m2 import x 用函数把他变成局部,文件加载顺序先全局在局部
def f1():
from m2 import x
y = 'm1'
f()去内存中找去→内置模块中找→去环境变量中找
打印环境变量
import sys
print(sys.path)1.模块文件
2.运行文件
搜索路径以运行文件为基准
在执行文件中_name_会被读取成'__main__'
在导入模块的时候__name__会变成模块名字