什么是包
在项目中,创建python包
包跟目录区别
创建的包下面有个 init.py 文件。
我们在写python代码的时候,创建python package 包。可以实现从包中引用代码,如果将代码放在目录中,代码引用的时候会有问题。
所以在组织项目代码的时候,py文件(模块) 放在包中。
当项目中代码越来越多的时候,不同功能的py文件需要组织一下,放在不同的包中。
import 导入包中模块
创建包
【项目】—【右键】—【new】—【python package】
命名 mylib
创建文件
在 mylib 包下创建 py 文件(模块)
模块名 为 mytools.py 主要用来存放我们定义的小工具。
定义函数
def get_phone():
print("获取手机号:")
def get_id():
print("获取身份证id:")
import …
在项目的根目录下 mydemo.py 中 引用mylib 包下的模块
# 导入 mytools 模块。(这里需要跟上包名)
import mylib.mytools
# 引用 模块中定义的函数
mylib.mytools.get_phone()
mylib.mytools.get_id()
运行可以看到结果。
这样导入的使用起来比较麻烦,要写包的全路径。
import … as …
可以使用as 别名的方式来导入包
# as tl tl就相当于 mylib.mytools (tl可以任意命名)
import mylib.mytools as tl
# 可以 直接调用
tl.get_id()
tl.get_phone()
可以看到是同样的效果。
包之间引用
在项目目录下创建 包 testcases
在testcases 中 创建 test_demo.py
在test_demo.py 文件中 引用 mylib/mytools.py 文件中定义的函数。
import mylib.mytools as mt
mt.get_id()
mt.get_phone()
在项目中,导入其他包的内容,路径都是统一从项目的根目录下开始写。不管你的文件在什么地方。
from … import …
和模块导入的方式一样。也支持 from 的方式来导入。
路径也是从项目的根目录下开始。
from mylib.mytools import get_id,get_phone
get_id()
get_phone()
执行,可以看到效果。