0

私が持っているものは次のとおりです。

ネストされたクラスを持つファクトリ関数(クラスを直接インスタンス化することがより困難になるように)

• クラス内には、ファクトリ関数を呼び出してインスタンスの更新バージョンを取得するupdateメソッドがあります。

それは次のようなものです:

def factory(someStr):
    #in my actual code I retrieve an updated value
    #for someStr from the internetz
    #I also have some other parameters, hence
    #the someInt parameter

    class NestedClass(object):
        def __init__(self, someStr, someInt):
            #... intialization code
            #someStr becomes a property here
            #(I omited that code)

        def update(self):
            return factory(self.someStr)

    return NestedClass(someStr, int(someStr))

これは私が最初に思いついたもので、デザインが気に入っています (頻繁に更新する場合、主にその構文は非常に短いです)。マイナス面として、私は更新されたオブジェクトをたくさん作成します。

残念ながら、それは私が予想していたエラーを私に与えます(ネストされたクラスの名前空間のため、「dict not callable」)。

このデザインを維持して関数を呼び出す方法はありますか?

4

0 に答える 0