如何从Python中的另一个文件调用类方法?
我正在学习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() 如何从
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答案的唯一区别是我导入了实例,而不是类。请你修改你的评论,撤销反对票,好吗?