如何从不同的文件中导入包含所有函数的类?

7 浏览
0 Comments

如何从不同的文件中导入包含所有函数的类?

我在文件 \'V.py\' 中创建了一个名为 \'class V\' 的类,其中包含一些函数。我希望在其他项目中继续使用这些函数,但是当我调用这些函数中的任何一个时,都会出现一个名字未定义的错误。我尝试了所有我能找到的解决方案,但都没有解决这个问题。希望有人知道我做错了什么。。\n

class V(object):
    def magnitude(self):
        a=0
        for i in range(len(self)):
            for j in range(len(self[i])):
                a= a + self[i][j] **2
        return sqrt(a)

\n调用一个函数:\n

from V import V
A = np.array([[1,2,3],[4,0,6],[7,8,9]])
print magnitude(A)

\n错误:\n

NameError: name 'magnitude' is not defined

0
0 Comments

在Python中,如果我们想要从不同的文件中导入一个类,并且希望导入的类中包含所有的函数,那么我们可以使用以下的方法来实现。

首先,我们需要在我们的代码中引入所需的库或模块。在这个例子中,我们需要引入numpy库。

然后,我们可以使用"from 文件名 import 类名"的语法来导入我们需要的类。在这个例子中,我们需要从文件"V"中导入类"V"。

接下来,我们可以创建一个数组A,并将其作为参数传递给我们导入的类的实例化。在这个例子中,我们创建了一个3x3的数组A。

最后,我们可以打印出导入的类。在这个例子中,我们打印出了类"V"。

以下是完整的代码:

import numpy as np
from V import V
A = np.array([[1,2,3],[4,0,6],[7,8,9]])
m = V(A)
print (V)

这样,我们就成功地从不同的文件中导入了一个类,并且可以使用该类中的所有函数。

0
0 Comments

在Python中从不同文件导入带有所有函数的类的问题是由于尝试在没有创建类对象并在方法内传递参数的情况下访问类方法所导致的。解决方法是重构类方法以接受参数,并在访问方法之前创建类的对象。

首先,我们有一个名为V的类,其中定义了一个名为magnitude的方法。这个方法接受一个参数A,并对参数进行一些操作后返回结果。

然后,我们在另一个文件中导入了numpy库,并从V文件中导入了V类。我们创建了一个V类的对象v,并定义了一个名为A的numpy数组。最后,我们调用v对象的magnitude方法并传入A数组作为参数,并打印结果。

出现问题的原因是我们在调用类方法时没有创建类的对象并传入参数。在这种情况下,我们需要创建一个V类的对象v,并在调用magnitude方法时将A数组作为参数传递给它。通过这样做,我们可以正确地访问并执行类方法。

感谢您的回答!当我运行代码时,它给我一个奇怪的错误“TypeError: magnitude() takes exactly 1 argument (2 given)”。但是,如果我在原始文件中运行它,它就能正常工作,没有错误。

这可能是因为您更改了类的定义。我已经测试过这段代码,应该不会出错。

0