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

How do I call a class method from another file in Python?

我正在学习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) 方法?我以为 this answer 很接近,但它显示了如何从同一文件中的另一个 class 调用 class 方法。

你必须导入它并像这样调用它:

import printer as pr

pr.Printer().printMessage()

@Gleland 的回答是正确的,但如果您正在考虑为整个项目使用 Printer class 的一个共享实例,那么您需要移动 [=12 的实例化=] 从 if 子句中导入实例,而不是 class,即:

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()