python基础-模块与包
1.模块的使用
1.在第一次导入模块时会做三件事,重复导入会直接引用内存中已经加载好的结果:
#1.产生一个新的名词空间
#2.运行spam.py代码,产生的名字都存放于1中的名称空间中,运行过程中global关键字指向的就是该名称空间
#3.在当前名称空间拿到一个名字spam,该名字指向1的名称空间,引用spam.py中的名字的方式:spam.名字
强调:被导入的模块在执行过程中使用自己独立的名称空间作为全局名称空间
2.起别名:import spam as sm
3.一行导入多个模块:import time,sys,spam
4.from 模块名 import 名字
优点:引用时不用加前缀
缺点:容易与当前名称空间的名字冲突
from a import b as c
from a import b,c,d
from a import * *包含除了下划线开头以外的所有的名字,在源文件__all__=[]列表中为别人可以调用的名字
5.一个python文件的两种用途:
1.当做脚本执行 __name__=='__main__'
2.当做模块被导入使用 __name__=='模块名'
6.模块的搜索路径:内存------》内置模块------------》sys.path(环境变量)现在执行脚本的当前目录寻找引用的包
import sys
sys.path.append(r'E:\复习\a')
2.包的定义:包就是一个包含了__init__.py文件的文件夹(可以往该文件夹下方一堆子模块)
1.包的使用
注意:但凡是在导入时,出现.,这才是导入包才有的语法,.的左边必须是一个包,使用的时候没有这种限制
from .m1 import f1 表示在当前包下找m1模块并引用f1 一个点代表当前目录 两个点代表当前目录下的上一目录,以此类推