python-day17包
跨文件夹导入模块 1:有文件夹a,名下有ma功能,在文件夹外调用ma功能的话, 导入import a.ma 运用ma() 或者 from a import ma ma() 2;假定a有多重文件夹,想要调用多重文件夹下的模块 则是 a.x.y一直点到那个模块名 或者 from a.x.y import 功能名 3:注意点: .左侧必须是文件夹名 模块的两种被执行方式 1:第一种py文件自执行 2:第二种py文件作为模块是被导入执行 当调用py文件时 不想被Py文件自身执行所影响 则在被调用模块的py文件中运用 if __name__ == '__main__':即可 包 定义:就是模块的集合体,是一个文件夹来管理一系列有联系功能的模块,该文件夹我们称之为包,文件夹名就是包名 包和普通文件夹的区别:包中一定有__init__.py文件 py2中必须创建__init__ py3中建议创建,创建后可以在包中调用模块功能 __init__.py文件 1)产生一个全局名称空间,提供给包的,此空间代表包名称空间 2)如果要使用包中模块 则必须在__init__文件中找到该文件的路径 可以使用 from ...import...来确定路径(1:指名道姓到某一个模块 2:指名道姓到某一个模块中的名字) 3) 调用包文件中的模块功能时 首先 import 包名 fn() 或者前面加点 x.y.fn() 一个点表示在当前文件夹 ..表示在当前文件夹的上一个目录 但是 .语法中 无论怎么使用不能出包 # 导包完成的三件事 # 1)编译形成包中__init__.py文件的pyc文件 # 2)执行__init__.py文件,形成一个全局名称空间,将__init__.py文件中所有名字存放其中,该名称空间就代表包的名称空间 # 3)在导包的文件中,产生一个与包名相同的名字,指向包的名称空间(__init__.py文件的全局名称空间)

更多精彩