Python:当从另一个类中调用初始方法时,类方法调用其他类方法
我正在开发一个复杂的文件切换器(没有更好的术语),遇到了一个问题。简化,考虑下面的代码:Python:当从另一个类中调用初始方法时,类方法调用其他类方法,python,class,methods,Python,Class,Methods,我正在开发一个复杂的文件切换器(没有更好的术语),遇到了一个问题。简化,考虑下面的代码: class Foo(object): def __init__(self): self.foo = Bar() self.foo.baz() class Bar(object): def baz(self): print("baz") self.qux() def qux(self): print("q
class Foo(object):
def __init__(self):
self.foo = Bar()
self.foo.baz()
class Bar(object):
def baz(self):
print("baz")
self.qux()
def qux(self):
print("qux")
当类Foo启动并调用“self.Foo.baz()”时,输出中不会打印任何内容。怎么会?在这种情况下,有没有办法从Foo中正确调用Bar类中的方法?
\uuuu init\uuuu
在创建实例之前不会被调用。如果创建实例:
a = Foo()
那你应该会看到打印出来的东西。对我来说很好。请注意,
\uuuuu init\uuuuu
在实例化类之前不会执行。它不初始化类,而是初始化一个实例。我无法复制。当我调用Foo()
时,“baz”和“qux”都会打印。上面的代码加上Foo()
会打印baz
和qux
。没问题。我现在有点讨厌自己忘记创建一个实例。。。谢谢你的提醒。