每个“.py” 文件都是一个模块
import 模块名
import 模块名 as 新名字 :防止重名和使用简洁的名字
from 模块名 import 函数名
将项目中不同功能的代码收入不同的文件夹中,他们可以互相引用,这就是包
模块的名称就是代码保存的文件名
模块位置:
默认一般为当前目录 Windows:python子目录 Linux:/user/lib
通过sys模块来控制:
import sys
print(sys.path)
sys.path.append(Apath) Apath:绝对路径
对于模块,第一次运行时都将其编译成字节码的形式,以提高程序的启动速度
不是模块:#file:compile.py
import py_compile
py_compile.compile('a8_2.py','a8_2.pyc') 若无第二个参数就生成‘__pycache__’来储存
cmd:python -O compile.py 优化不多
python -OO compile.py 优化多,脚本更小,谨慎使用
每个 python都有一个‘__name__’值 作为模块时为文件名 独立运行时 为‘__main__’
包其实就是一个文件夹或目录,但其中必须包含一个名为‘__init__.py’的文件 ,可以为空 作为包的标志
调用包时会自动调用‘__init__.py’文件里面的信息
grnd\
__init__.py
prnta
__init__.py
suba.py
sub\
__init.py__
sona.py
prntb
__init__.py
subb.py
subc.py
调用同一目录:import subc
调用同级的另一模块:from grnd.prnta import subc
调用其目录下的子包中某个模块:from .sub import sona