Python - 包:代码重用和组织的关键

大家好,有抱负的Python程序员们!今天,我们将开始一段激动人心的旅程,进入Python包的世界。作为你们友好的计算机科学老师,我很激动能引导你们了解这个重要的概念,它将把你们的编程技能提升到一个新的水平。所以,拿起你们的虚拟背包,让我们开始吧!

Python - Packages

Python包是什么?

在我们开始创建自己的包之前,让我们先了解它们是什么以及为什么如此重要。

想象一下,你正在构建一个巨大的乐高结构。如果散落的乐高积木都按用途分装在不同的盒子里,那岂不是很好?这正是Python包为你的代码所做的!

Python包是一种将相关模块组织成目录层次结构的方式。它允许你将相关的功能组合在一起,使你的代码更加组织化、可重用和易于维护。

创建Python包

现在,让我们卷起袖子,创建我们自己的Python包。我们从一个简单的例子开始。

步骤1:创建包目录

首先,我们需要为我们的包创建一个目录。我们称之为my_math_package

my_math_package/

步骤2:添加init.py文件

my_math_package目录内,创建一个名为__init__.py的空文件。这个文件告诉Python这个目录应该被当作一个包来对待。

my_math_package/
__init__.py

步骤3:创建模块文件

现在,让我们向包中添加一些模块。我们将创建两个简单的模块:basic_operations.pyadvanced_operations.py

my_math_package/
__init__.py
basic_operations.py
advanced_operations.py

步骤4:向模块添加代码

让我们向模块中添加一些简单的函数。

basic_operations.py中:

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

def subtract(a, b):
return a - b

advanced_operations.py中:

def power(base, exponent):
return base ** exponent

def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)

步骤5:使用包

现在我们已经创建了包,让我们看看如何在Python代码中使用它。

# 导入特定函数
from my_math_package.basic_operations import add, subtract
from my_math_package.advanced_operations import power, factorial

# 使用导入的函数
print(add(5, 3))  # 输出:8
print(subtract(10, 4))  # 输出:6
print(power(2, 3))  # 输出:8
print(factorial(5))  # 输出:120

是不是很整洁?我们刚刚创建并使用了我们自己的Python包!

定义包列表

在处理更大的项目时,你可能会需要使用多个包。保持跟踪项目中依赖的所有包是一个好习惯。这时包列表就派上用场了。

包列表通常存储在一个名为requirements.txt的文件中。这个文件列出了项目运行所需要的所有包及其版本。

以下是一个requirements.txt文件示例:

numpy==1.21.0
pandas==1.3.0
matplotlib==3.4.2

每一行指定一个包名称及其版本。双等号(==)表示我们希望使用正好是那个版本的包。

包安装

现在我们知道如何列出所需的包,接下来学习如何安装它们。Python提供了一个强大的工具pip用于包的安装。

安装单个包

要安装单个包,可以在终端或命令提示符中使用以下命令:

pip install package_name

例如,安装NumPy:

pip install numpy

从requirements.txt安装

要安装requirements.txt文件中列出的所有包,请使用:

pip install -r requirements.txt

这个命令告诉pip读取requirements.txt文件并安装其中列出的所有包。

虚拟环境

这里有一个专业建议:在处理不同的项目时,使用虚拟环境是个好主意。虚拟环境就像是每个项目的独立游乐场,让它们的依赖项彼此隔离。

创建虚拟环境:

python -m venv myenv

激活它:

  • 在Windows上:myenv\Scripts\activate
  • 在macOS和Linux上:source myenv/bin/activate

激活后,你安装的任何包都将特定于这个环境,让你的项目保持整洁!

结论

恭喜你!通过学习包,你在Python之旅中迈出了重要的一步。从创建自己的包到安装和管理包,你现在拥有了像专业人士一样组织代码的工具。

请记住,包就像是你的代码库中的书架。它们帮助你保持一切有序,使你更容易找到需要的东西,并与他人共享代码。在你继续Python的冒险中,你将发现许多其他令人兴奋的包,它们可以为你的项目添加强大的功能。

继续练习,保持好奇心,祝编程愉快!

方法 描述
pip install package_name 安装单个包
pip install -r requirements.txt 安装requirements.txt中列出的包
python -m venv myenv 创建虚拟环境
myenv\Scripts\activate (Windows) 在Windows上激活虚拟环境
source myenv/bin/activate (macOS/Linux) 在macOS/Linux上激活虚拟环境

Credits: Image by storyset