私は何千ものPythonオブジェクトで動作するようなPythonプログラムを構築しています。私は、それらを整理する最もエレガントな方法が何であるか興味があります。また、いつ物事がPythonでコピーされるかについてもわかりません。Pythonプログラムでたくさんのオブジェクトを扱う
たとえば、何千ものオブジェクトの一覧を持つマネージャオブジェクトがありますが、そのオブジェクトの数千のオブジェクトのそれぞれに対応するキーを持つ辞書がある場合、そのオブジェクトはメモリ内に2回存在しますか?リスト内のオブジェクトのプロパティを変更する場合は、そのオブジェクト内の対応するオブジェクトのプロパティも変更されますか?
私はこのことについてよく読めないので、誰かが正しい方向に私を指すことができれば助けになります。
class Manager():
def __init__(self,list_of_objects):
self.myobjects = []
self.myobjectsdict= {}
self.myobjects = list_of_objects
for object in self.myobjects:
self.myobjectsdict[object.name] = object
その後、私は彼らがコピーになり、二マネージャオブジェクトを作成し、それを最初マネージャのオブジェクトのいくつかを与えることをした場合:ここで
は、私が考えている何ですか?あるいは、第2の管理者によってなされた変更は、第1の管理者が負うオブジェクトに適用されますか?たとえば、ここではどうなりますか:
manager2 = Manager(manager1.myobjects[5000:10000])
manager2.myobjects[71].name = "newname"
最初のマネージャーでそのオブジェクトの名前が変更されていますか? dictキーはまだ古い名前ですか?
最後に、何千ものオブジェクトの一覧や辞書が本当に多くのPythonオブジェクトを整理する最も良い方法ですか、それとも私が見逃した良い方法はありますか?助けてくれてありがとう。
データベース、ORM、およびクラスを必要に近づいているように聞こえます。リンクされたポスト –