什么是包

在项目中,创建python包
image.png
包跟目录区别
创建的包下面有个 init.py 文件。
image.png
我们在写python代码的时候,创建python package 包。可以实现从包中引用代码,如果将代码放在目录中,代码引用的时候会有问题。
所以在组织项目代码的时候,py文件(模块) 放在包中。
当项目中代码越来越多的时候,不同功能的py文件需要组织一下,放在不同的包中。

import 导入包中模块

创建包

【项目】—【右键】—【new】—【python package】
image.png
命名 mylib
image.png

创建文件

在 mylib 包下创建 py 文件(模块)
image.png
模块名 为 mytools.py 主要用来存放我们定义的小工具。
image.png
定义函数

  1. def get_phone():
  2. print("获取手机号:")
  3. def get_id():
  4. print("获取身份证id:")

import …

在项目的根目录下 mydemo.py 中 引用mylib 包下的模块

  1. # 导入 mytools 模块。(这里需要跟上包名)
  2. import mylib.mytools
  3. # 引用 模块中定义的函数
  4. mylib.mytools.get_phone()
  5. mylib.mytools.get_id()

image.png
运行可以看到结果。
这样导入的使用起来比较麻烦,要写包的全路径。

import … as …

可以使用as 别名的方式来导入包

  1. # as tl tl就相当于 mylib.mytools (tl可以任意命名)
  2. import mylib.mytools as tl
  3. # 可以 直接调用
  4. tl.get_id()
  5. tl.get_phone()

可以看到是同样的效果。
image.png


包之间引用

在项目目录下创建 包 testcases
image.png
在testcases 中 创建 test_demo.py
image.png
在test_demo.py 文件中 引用 mylib/mytools.py 文件中定义的函数。

  1. import mylib.mytools as mt
  2. mt.get_id()
  3. mt.get_phone()

image.png
在项目中,导入其他包的内容,路径都是统一从项目的根目录下开始写。不管你的文件在什么地方。

from … import …

和模块导入的方式一样。也支持 from 的方式来导入。
路径也是从项目的根目录下开始。

  1. from mylib.mytools import get_id,get_phone
  2. get_id()
  3. get_phone()

执行,可以看到效果。
image.png