一:什么是模块
模块就是一系列功能的几何体,分为三大类:
Ⅰ:内置的模块
print(type(print))
Ⅱ:第三方的模块
import time
print(type(time))
Ⅲ:自定义的模块
一个Python文件 本身就是一个模块,文件名:m.py,模块名:m
PS:模块分为4种形式
1.使用Python编写的.py文件
2.已被编译为共享库 或 DLL的 C 或者 C++扩展
3.把一系列模块组织到一起的文件夹(注:文件夹下面有一个__init__.py文件,该文件夹称之为“包”)
4.使用C编写 并链接到Python解释器的内置模块
二:为何要用模块
1.内置与第三方库模块 拿来就用,无序定义,这种拿来主义,可以极大地提升自己的开发效率
2.自定义模块
可以将程序的各个部分功能提取出来 放到一个模块中 供大家使用
好处是 减少了代码冗余,程序组织结构更加清晰
三:如何用模块
1.首次导入模块会发生3件事
① 执行foo.py
② 产生foo.py的名称空间,将foo.py运行过程中产生的名字都丢到foo的名称空间中
③ 在当前文件中 产生一个名字foo,该名字 指向2中产生的名称空间
y = 333
x = 444
import foo
2.引用
强调1:模块名.名字 是指名道姓地 问某一个模块 要对应的值,不会与当前名称空间中的名字发生冲突
import foo
print(foo.x)
print(foo.get)
print(foo.change)
x = 11111
print(x)
print(foo.x)
强调2:无论是查看 还是 修改,操作的都是模块本身,与调用位置无关
import foo
x = 33333
# foo.get()
foo.change()
print(x)
print(foo.x)
3.可以以 , 为分隔符,在一行导入多个模块,但是不建议写在一行
建议方式:
import time
import foo
import fun1
不建议方式:
import time,foo,fun1
4.导入模块的规范
Ⅰ Python内置模块
import time
import sys
Ⅱ 第三方模块
import 第三方1
import 第三方2
Ⅲ 程序员自定义模块
import 自定义模块1
import 自定义模块2
import 自定义模块3
5.import ... as ...
# import foo as f # f=foo 起别名
# f.get()
# import abcdefgadfadfas as mmm
#
# mmm.f1
# mmm.f2
# mmm.f3
6.模块是第一类对象
import foo
7.自定义模块的命名应该采用纯小写+下划线的风格
8.可以在函数内导入模块
def func():
import foo