Python 从另一个文件导入类

Rana Hasnain Khan 2024年2月15日
Python 从另一个文件导入类

本教程将解释在 Python 中从另一个文件导入一个类的各种方法。当我们想在代码中使用另一个类的方法时,我们需要从另一个文件中导入一个类。它可以节省时间,因为我们不必再次实现这些方法,并且使代码看起来很干净,因为我们不必在当前项目中复制粘贴这些方法。

在 Python 中导入类

我们在编程中经常遇到必须重复特定过程的情况。每次都为他们编写代码非常耗时。

我们采用面向对象编程 (OOP) 的概念来避免在 Python 中工作时在需要时频繁使用程序的情况。

本文将演示如何使用不同的方法从 Python 中的另一个文件中导入类。

Python 中的 OOP

面向对象编程 (OOP) 是 Python 中使用对象和类的编程模型。它的目标是使用编程来创建现实世界的概念,如继承、多态性和封装。

OOP 背后的主要思想是将数据和与之一起操作的算法组合成一个单元,即使程序的其他部分无法访问它。

现在,让我们看一个例子,在这个例子中我们将开发一个函数来执行一些操作,我们将尝试将它从那个文件导入到我们的新文件中。

首先,让我们创建一个新文件 Numsum,其中包含执行某些功能的类,如下所示。

# python
class Operations:
    def __init__(self):
        self.sum_ = 0

    def To_sum(self, a, b):
        self.sum_ = a + b
        return self.sum_

我们将把这个文件导入到另一个我们想要使用该类及其函数的文件中。这两个文件应位于同一文件夹中,以便于导入。

导入文件后,我们将使用 operations 类并对 2 个数字求和,如下所示。

# python
from Numsum import Operations

obj = Operations()

Sum = obj.To_sum(4, 12)

print("Sum is :", Sum)

输出:

从同一目录导入 python 中的类

从上面的例子中,我们很容易地导入了 operations 类并使用它的函数来创建 2 个数字的总和。

从 Python 中的另一个文件导入多个类

现在,我们将看看如何从另一个文件中导入所有类。可能需要从其他文件导入所有类。

我们可以使用 from file name import all 命令读取它。这表明我们已经从提供的文件中导入了所有类。

在这种情况下,我们使用 from file name> import * 语句。该语句从文件中导入所有类,如下所示。

# python
class Operations:
    def __init__(self):
        self.sum = 0

    def To_sum(self, a, b):
        self.sum = a + b
        return self.sum


class showData:
    def __init__(self):
        self.DATA = ""

    def show_data(self, INFO):
        self.INFO = INFO
        return self.INFO

现在我们将从文件中导入所有类并在函数中使用它们。如下所示,我们使用*而不是类名来从文件中导入所有类。

# python
from NumSum import *

obj1 = Operations()

print(obj1.To_sum(15, 16))

obj2 = showData()

print(obj2.show_data("Importing Multiple classes from NumSum"))

输出:

从同一目录导入 python 中的多个类

从 Python 中的另一个文件夹导入类

现在,假设我们要从位于另一个文件夹中的文件中导入一个类。让我们通过一个例子更好地理解它。

我们将使用 Numsum.py 中的 Operations 类,该类位于另一个文件夹中,即 NewFolder。我们还必须指定 NewFolder 的路径。

为此,我们将使用 sys 模块。看看下面的代码。

# python
from NewFolder.Numsum import Operations
import sys

sys.path.insert(1, "##")


obj = Operations()

print(obj.To_sum(15, 16))

输出:

从不同目录导入 python 中的类

如你所见,我们还可以使用 Python 模块 sys 从放置在其他文件夹中的文件中导入类。

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

相关文章 - Python Class