在另一个模块中。当我当前在另一个 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)
是否可以从 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)