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

Tho*_*mas 12 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()
Run Code Online (Sandbox Code Playgroud)

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

Gle*_*and 6

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

import printer as pr

pr.Printer().printMessage()
Run Code Online (Sandbox Code Playgroud)


Chr*_* K. 5

@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()
Run Code Online (Sandbox Code Playgroud)

现在,在另一个文件中:

from printer import printer as pr
pr.printMessage()
Run Code Online (Sandbox Code Playgroud)