模块
模块的定义
在python中模块其实就是文件,当你把一段代码功能保存为一个文件的时候,放到特定的位置在需要的时候就可以import导入这个模块。
导入模块的方试
- import 模块名
import random
- import 模块名,模块名,…
import random,time
- from 模块名 import 功能名
from random import randint
- from 模块名 import 功能名,功能名,…
from random import randint,random
- from 模块名 import *
from random import *
- import 模块名 as 别名
import random as fun
fun.randint(1,20)
- from 模块名 import 功能名称 as 别名
from random import randint as fun
fun(1,20)
内建函数dir()可以查看模块定义了什么数据(包括变量名,模块名,函数名等):dir(模块名),没有参数时返回所有当前定义的名字
注意事项:
- 自己的文件名不要和已有模块的文件名重复,否则会导致模块功能无法使用
- 使用from 模块名 import功能的时候,如果功能名字重复,调用到的是最后定义的或导入的功能
- 导入了模块之后的程序代码中的变量一般不能和模块的名称一致,否自在调用模块的时候,这个名称已经是变量了,不在是模块,因为Python中的变量是引用
__all__的使用
如果一个模块文件中有__all__变量,将模块导入时,只能导入这个__all__列表中的元素,指的是将通配符(*)进行添加筛选
格式:
__all__ = ["my_ser1"]
from bao import *
my_ser1.per()
#bao是下面介绍的包名,my_ser1是模块名,per()是模块名中的方法
注意:只能与*进行配合使用
包
定义
包将有联系的模块组织在一起,放在同一个文件夹下面,并且在这个文件夹里面创建一个名字为_init_.py文件,那么这个文件夹就称之为包
包的导入(与模块的导入相同)
- import 包名.模块名
- from 包名 import 模块名,模块名,…
- from 包名 import *
- import 包名.模块名 as 命名
inte文件
init文件的作用类似于模块中的__all__的作用,在init文件中同样添加一行__all__对应的列表中,可以选择被导入的模块的名字