Python包及其引入方法

一、Python包

模块所在目录看做是包,目录名即为包名。

二、Python包创建

创建过程举例(模块中不包含类):
1、创建文件夹包;
2、在包中创建3个文件,a.py、b.py、__init__.py(双下划线);
a.py:

image.png

b.py:

image.png

__init__.py:
内容为空。
3、在包的同级目录下,创建test.py,引入包中的方法。
(1)引入方法1

from bao import a
from bao import b
a.say()
b.say()

(2)引入方法2

import bao.a
import bao.b
a.say()
b.say()

(3)引入方法3
前提:在__init__.py文件中添加all=['a','b']

from bao import 
a.say()
b.say()

以上程序运行结果均为:

image.png

注:实际开发中用到哪种引入方法看个人习惯。

三、Python模块中包含类时引入举例

1、创建文件夹包;
2、在包中创建3个文件,a.py、b.py、__init__.py(双下划线);
a.py:

Python包及其引入方法_第1张图片
image.png

注:@staticmethod #定义静态方法
b.py:

Python包及其引入方法_第2张图片
image.png

__init__.py:
内容为空。
3、在包的同级目录下,创建test2.py,引入包中的方法。
(1)引入方法1

Python包及其引入方法_第3张图片
image.png

(2)引入方法2
前提:在 __init__.py中添加:

image.png

在test2.py引入:

Python包及其引入方法_第4张图片
image.png

以上程序运行结果均为:

image.png

四、Python模块查找顺序

模块首先从当前目录查询,如果没有再按path顺序逐一查询。

如:目录结构为bao1/bao2/bao3/a.py
则:from bao1.bao2.bao3.a import A

五、小结- Python模块和包引用格式

模块和包的引入格式如下:
  • import 文件名
  • from 目录名 import 文件名
  • from 目录名.文件名import 类名
    注:模块,一个文件就是一个模块

你可能感兴趣的:(Python包及其引入方法)