Python之模块调用

来源:互联网 发布:啊哈算法mobi 编辑:程序博客网 时间:2024/05/07 01:06

1.模块调用:

import 模块名 


1.1.开辟新的内存空间

1.2.被调用的模块内容会被执行一次

PS:对于已经导入的模块在程序运行过程中修改模块的内容,模块运行的结果和未修改时一致,如果想在程序运行过程中修改模块运行的结果,此时要使用reload方法,reload导入方法

from importlib import reload


2.模块命名:

import 模块名 as 别名

别名是一个新的引用指向内存空间


3.from 模块名 import 变量名

变量名可以作为全局变量被使用


4.from 模块名 import * 

* 和__all__=['变量名1','变量名2']连用

__all__=['变量名1','变量名2']放在模块中

模块中如有_变量名则该变量名不可 被引用


5.包中模块的调用:

包的概念:相当于一个文件夹,但是内部会有一个__init__文件


模块加载:首先解释器会将模块的内容编译一次放入_pycache文件夹中生成pyc文件,当再次调用模块的时候,解释器会直接从_pycache文件夹中取出字节码文件进行执行,这个过程会节省编译时间,而执行时间不会改变,对于非模块的文件不会触发该机制

from 包名 import 模块名


6.同级目录下模块之间的相互调用:

那个文件为启动或者执行文件,则系统路径中会被加入该执行文件的目录,而且是在第一的位置,这个可以通过sys.path命令进行查看,返回一个列表


路径之间的切换可以通过os.path.dirname(os.path.abspath(__file__))或者os.path.dirname(os.getcwd())进行相对路径的切换。



7.__name__在模块中使用:

if __name__ == '__main__':

    pass

主要用于模块测试,在调用者中显示模块名字,在模块自己中显示__main__