Python如何调用自己写的包

在Python中,我们可以将一组相关的模块组织成一个包,以便于管理和复用代码。当我们写好一个包后,就可以在其他项目或程序中调用这个包的功能。本文将介绍如何在Python中调用自己写的包。

1. 创建包

首先,我们需要创建一个包来存放我们的模块。包是一个包含__init__.py文件的文件夹,这个文件夹里可以包含多个模块文件。创建一个名为my_package的包,目录结构如下:

my_package/
    __init__.py
    module1.py
    module2.py

__init__.py文件是一个空文件,它告诉Python这个目录是一个包。module1.pymodule2.py是我们自己写的模块文件。

2. 编写模块代码

module1.py文件中,我们定义一个函数add,它可以实现两个数相加的功能:

# module1.py

def add(a, b):
    return a + b

module2.py文件中,我们定义一个函数multiply,它可以实现两个数相乘的功能:

# module2.py

def multiply(a, b):
    return a * b

3. 导入包

要在其他程序中使用我们自己写的包,首先需要导入这个包。假设我们有一个主程序文件main.py,我们可以在这个文件中导入my_package包:

# main.py

import my_package

print(my_package.module1.add(2, 3))  # 调用module1中的add函数
print(my_package.module2.multiply(2, 3))  # 调用module2中的multiply函数

我们使用import语句导入my_package包,并使用my_package.module1my_package.module2来访问相应模块中的函数。在调用函数时,需要加上模块名作为前缀。

4. 使用包

通过导入包后,我们就可以在主程序中使用包中的函数了。在main.py文件中,我们调用my_package.module1.add函数和my_package.module2.multiply函数,分别实现两个数相加和相乘的功能。

运行main.py,输出如下:

5
6

我们成功调用了自己写的包中的函数,并得到了预期的结果。

5. 安装包

上面的示例是在同一个项目中使用自己写的包。如果我们想在其他项目或其他机器上使用这个包,我们可以将包打包成一个可安装的包,并通过pip安装。

my_package目录的上一级目录下创建一个setup.py文件,用于描述如何打包这个包:

# setup.py

from setuptools import setup

setup(
    name='my_package',
    version='1.0.0',
    packages=['my_package'],
)

然后,在命令行中切换到setup.py所在的目录,并执行以下命令打包:

python setup.py sdist

这个命令会在当前目录下生成一个名为dist的文件夹,里面包含了打包后的包文件。

我们可以将生成的包文件拷贝到其他项目或其他机器上,然后通过pip安装这个包:

pip install my_package-1.0.0.tar.gz

安装完成后,我们可以在任何项目中导入并使用这个包了。

总结

本文介绍了在Python中如何调用自己写的包。首先我们需要创建一个包,并在包中编写模块代码。然后通过导入包,在其他程序中使用包中的函数。最后,我们可以将包打包成一个可安装的包,通过pip安装在其他项目或其他机器上使用。

通过使用自己写的包,我们可以更好地组织和复用代码,提高开发效率。

甘特图

gantt
    title Python调用自己写的包

    section 创建包
    创建目录结构 : 2022-01-01, 1d