如何从Python中的另一个文件调用类方法?

如何从Python中的另一个文件调用类方法?,python,member-functions,Python,Member Functions,我正在学习Python,在同一个目录中有两个文件 printer.py class Printer(object): def __init__(self): self.message = 'yo' def printMessage(self): print self.message if __name__ == "__main__": printer = Printer() printer.printMessage() 如何从

我正在学习Python,在同一个目录中有两个文件

printer.py

class Printer(object):
    def __init__(self):
        self.message = 'yo'

    def printMessage(self):
        print self.message

if __name__ == "__main__":
    printer = Printer()
    printer.printMessage()

如何从同一目录中的另一个文件
example.py
调用
printMessage(self)
方法?我认为很接近,但它显示了如何从同一文件中的另一个类调用类方法。

您必须导入它并按如下方式调用它:

import printer as pr

pr.Printer().printMessage()

@Gleland的回答是正确的,但如果您想在整个项目中使用
Printer
类的一个共享实例,那么您需要将
Printer
的实例化移出
if
子句并导入实例,而不是类,即:

class Printer(object):
    def __init__(self):
        self.message = 'yo'

    def printMessage(self):
        print self.message

printer = Printer()

if __name__ == "__main__":
    printer.printMessage()
现在,在另一个文件中:

from printer import printer as pr
pr.printMessage()

在example.py文件中,您可以编写以下代码

从打印机导入打印机

prnt=打印机()


prnt.printer()

你导入了
printed.py
?这个问题上的多次否决票让我有点生气。三年多前我还是一个初学者,即使在读了一篇又一篇的文章之后,我还是发现了这个问题,这让我非常沮丧。对于一个试图自学的初学者来说,如何使用导入系统是非常困难的。这是不正确的<代码>打印消息不是静态的。您需要创建
打印机
类的实例。您正在调用一个没有参数的类方法。我猜你的意思是
pr.Printer().printMessage()
@ChristianK。是的,刚刚修好。谢谢,没有实例作为参数,你不能调用未绑定的方法。我不是在调用未绑定的方法。请再看一看。与另一个@gleland答案的唯一区别是我导入了实例,而不是类。请你修改你的评论,撤销反对票,好吗?