は:ネストされたクラス - 親クラスの関数の使い方私はこのような状況がある場合
class Foo(object):
def __init__(self):
self.bar = Bar()
def do_something(self):
print 'doing something'
class Bar(object):
def __init(self):
self.a = 'a'
def some_function(self):
を私はsome_function関数内do_something関数を呼び出したいが、この機能は、私は、この関数を呼び出すために何を行うことができ、クラスに属していないのですか? 私はFoo()でそれを使用したくありません。do_something、別のオプションがありますか? 私は
に別の例を新しいインスタンスを作成したくない:
class A(object):
def __init__(self):
self.content = 'abcdabcabcabc'
self.b = self.B()
self.c = self.C()
def some_function(self):
print self.content
class B(object):
def foo(self):
A.some_function()
class C(object):
def foo(self):
A.some_function()
http://stackoverflow.com/questions/1765677/nested-classes-scope –
'Foo'ではない' Bar'の "親"。 Pythonのネストされたクラスは、余分なレベルのスコープを除いて、あなたには何も得られません。 – martineau
インスタンスメソッドとして呼びたくない場合は、インスタンスメソッドにしないでください。 – Goyo