- 模块
一个.py文件就是一个模块,里面是一些函数和变量,需要的时候可以导入。
模块命名规范:
1.以英文开头,不出现中文
2.模块名不应与系统内置函数重名
- 包
包本身就是一个文件夹,如果文件夹内有__init__.py文件,我们就称之为包。
包的主要作用是将我们的模块进行分类管理,使项目结构更加清晰,也方便调用时导入。
init.py内会放一些需要初始化的数据,导入包时,init.py文件里的代码会立刻执行一次。(例如:一个操作数据库的包,就可以把我们'连接数据库服务器'和'登陆数据库'的操作放在__init__.py内,导入包时就会自动执行,然后就可以直接进行数据操作了)
常见的包结构
project_1是我们的项目文件
package1和login都是包
login属于package1的子包
包内的.py文件都是属于该包的模块
包里除了.py文件,也可以放其他类型的文件,例如yaml文件,txt文件等。
- 导入模块&包
导入模块&包的几种方式
1.import 模块名
1)导入同级目录下的模块--import 模块
我们在test1.py内写入代码
#test1.py
print('有人导入我了')
然后在test2.py内进行导入
#test2.py import test1 #运行 >>>有人导入我了
2)导入上级目录下的模块--import 包.模块
我们在test3.py内写入代码
#logintest3.py
print('我是test3')
然后在test2.py内进行导入
#test2.py import login.test3 #运行 >>>我是test3
-
from 包 import 模块
我们在test3内写个函数
#logintest3.py def get_sum(a,b): return a+b
然后在test2.py内调用test3.py
#test2.py from login import test3 as a #as 给函数起个别名,可以解决导入多个模块时有同名模块的问题 print(a.get_sum(1,2)) #运行 >>>3
3.from 模块 import 函数
test2.py内调用test3.py
#test2.py from login.test3 import get_sum print(get_sum(1+2)) #运行 >>>3
注:当模块处于多层子包内时,使用
'import 包.包.包.模块'
或
'from 包.包.包 import 模块'
调用即可
总结:
| 导入方式 | 导入后用法 |
|---|---|
| import 模块名 | 模块名.函数名 |
| import 包名.包名.模块名 | 模块名.函数名 |
| from 包名.包名 import 模块名 | 模块名.函数名 |
| from 包名.包名.模块名 import 函数名 | 直接使用函数 |



