1

これはベストプラクティスの質問です

たとえば、次のようなクラス オブジェクトがあるとします。

class ClassOfObjects:
     def __init__(self, name):
       self.name = name
     ...

たとえば、これらのオブジェクトのうち 3 つをインスタンス化します。

a = ClassOfObjects('one')
b = ClassOfObjects('two')
c = ClassOfObjects('three')

ここで、オブジェクトのリストを作成したいと思います。明らかな方法の 1 つは、リスト オブジェクトを作成することです。

ListOfObjects = [a,b,c]

私はそれが限界だと思います。特に、特定のオブジェクトを含むオブジェクトを検索しようとするとき。誰もがベストプラクティスを認識していますか?

4

1 に答える 1

7

各インスタンスは、作成時にクラスに登録できます。

class K(object):
     registry = {}
     def __init__(self, name):
         self.name = name
         self.registry[name] = self

次にK.registry、名前をキーとして作成したすべてのインスタンスの辞書です。レジストリからアクセスできるため、インスタンスを変数に割り当てる必要さえありません。インスタンスを簡単に反復処理することもできます。

おそらく、ユースケースについてより多くの情報を共有すれば、誰かがより良い代替案を提供できるでしょう.

于 2012-04-07T06:42:26.633 に答える