模块和包的概念
python中的模块,其实就是一个python的文件,包含了很多类和函数,基本上都是可以向外调用的,或者整个文件都用来处理某个操作,我们使用库和框架就是由模块和包构成。
模块
导入模块的方式
import 模块名1,模块2,.......
调用模块功能
格式:模块名.功能名()
from 模块名 import 功能名,功能名1,功能名2
调用模块功能
格式:功能名()
from 模块名 import *
导入全部功能
格式:功能名()
import 模块名 as 模块别名
这是给模块改名字
from 模块名 import 功能名 as 功能别名
这是给功能该名
注意:如何模块和包的导入都是要放置顶部,避免出错!
模块搜索方式
python解释器对模块的位置搜索流程是:当前目录—shell变量 python path下每个目录—默认路径目录(unix的默认路径一般为usr/local/lib/python)
注意:自己文档文件名,千万不要跟已经存在的模块名重叠,否则会导致模块功能无法使用,如果是模块功能名重复,会引用最后定义或者导入的功能。
__all__摸快列表
如果说一个模块里文件内有__all__变量,当使用from模块名import*时候,只能导入这个列表中的元素,也就是该模块下的函数。
示例代码
__all__ = ["testA"]
def testA():
print('testA')
def testB():
print('testB')
# 能被模块调用的也就只有 testA
包
导入包的方式
方法一
import 包名.模块名
调用模块
格式:包名.模块名.功能名
方法二
from 包名 import*
调用模块
格式:模块名.功能名
注意:该方法的包中,必须存在__init__.py初始化模块,并且里面有__all__ = [] 这个变量,控制运行导入的模块列表。