在另一个模块中。当我当前在另一个 class 中时,如何从一个实例访问 class 方法?

While in another module. How i can access class methods from an instance when im currently in another class?

是否可以从 class (foo) 的实例访问 class 方法,而在另一个模块中的另一个 class (bar) 实例中? 我知道这段代码是错误的并且不起作用。但我希望你看到我想做什么。或者有更好的方法吗?

file1.py

from file2 import instance_of_bar

class Foo(object):

    def kill_bar(self):
        instance_of_bar.kill()

    def baz(self):
        self.kill_bar()


class Bar(object):

    def kill(self):
        print "I'm dead!"

file2.py

from file1 import *

instance_of_bar = Bar()
instance_of_foo = Foo()
instance_of_foo.baz()

感谢您的帮助!

我建议您将实例传递给相关方法。您的示例代码的修改版本可能如下所示:

文件 1:

class Foo(object):

    def kill_bar(self, bar):
        bar.kill()

class Bar(object):

    def kill(self):
        print "I'm dead!"

文件2:

from file1 import *

instance_of_bar = Bar()
instance_of_foo = Foo()
instance_of_foo.kill_bar(instance_of_bar)