class A():
class B():
def Foo(self):
print "Hello"
class C():
def Bar(self):
print "Goodbye"
def name(self):
print "FooBar"
我想要做的是,在 Bar 函数中调用 Foo 函数。我该怎么做?
class A():
class B():
def Foo(self):
print "Hello"
class C():
def Bar(self):
print "Goodbye"
def name(self):
print "FooBar"
我想要做的是,在 Bar 函数中调用 Foo 函数。我该怎么做?
在 Python 中,内部类没有与之关联的外部类的隐式实例。如果没有这样的实例,您将无法从或调用A
的非静态方法。B
C
如果您确实有这样的实例,那么只需使用点表示法:
class C():
def Bar(self):
self.a.name()
...
(哪里self.a
是 的一个实例A
。)
或者,如果A.name()
可以设为静态,则以下内容也将起作用:
class A(object):
class C():
def Bar(self):
print "Goodbye"
A.name()
@staticmethod
def name():
print "FooBar"
A.C().Bar()
您需要一个类的实例A
来调用方法。