为什么我不能从python中的类导入函数?

2024-09-27 23:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这里有一个名为“importable”的文件,我试图在其中导入methodtest函数。你知道吗

class SoonImported:
   def __init__(self, x):
       self.x = x

   def methodTest(self):
       print(self.x)

在另一个文件中,我有一行无法更改的代码(因为我的示例基于家庭作业)。你知道吗

from importable import SoonImported, methodTest

当我尝试运行这个脚本时,它会给我一个导入错误,并说它“无法导入名称‘methodtest’”。我应该如何纠正soonImported类以使其正常工作?你知道吗

谢谢你的帮助。你知道吗


Tags: 文件函数代码fromself示例initdef
3条回答

假设你的作业写得正确,那么methodTest应该是一个函数而不是SoonImported类的方法。我猜在第二个文件中,你有一些类似的行:

SoonImported_object = SoonImported("Some Text")
methodTest(SoonImported_object)

如果是这样的话,那么methodTest就不是一个方法,而是一个函数,应该定义为如下所示:

class SoonImported:
    def __init__(self, x):
        self.x = x

def methodTest(SoonImported_object):
    print(SoonImported_object.x)

如果没有类的其余部分,则无法从类导入方法,因为该方法仅存在于该类的上下文中。像借钱一样考虑进口。你想向朋友借割草机。除了你所拥有的东西就像是想从你的朋友那里借一台割草机,却没有先和任何人交朋友。如果你没有朋友,你怎么能指望向任何人借割草机呢?你知道吗

看起来methodTest是在SoonImported内部定义的。所以它的地址是这样的from importable import SoonImported,然后methodTest被称为

instance = SoonImported()
instance.methodTest()

相关问题 更多 >

    热门问题