私が取り組んできたいくつかのオープン ソース ソフトウェア (github の wxStocks) で大規模なデータ セットを扱ってきました。株式を分析していますが、プログラムの開始時にすべての株式がアクティブ メモリに読み込まれるため、データベース構造を使用する理由がわかりません。
ただし、ティッカー文字列を介して簡単に株を返すことができるように、すべての株を保持するグローバル変数リストを使用する必要があるため、ファイルを整理するのは困難です。
ガベージコレクターを介して解決策を考え出しました:
def return_stock_from_active_memory(ticker):
ticker = ticker.upper()
for obj in gc.get_objects():
if type(obj) is Stock:
if obj.symbol == ticker:
return obj
より経験豊富な python プログラマーから、最初にガベージ コレクターをインポートすることさえ火遊びをしていて、それは非常に悪い形式であると考えられていることを知らされました。非常に便利です。
上記の関数は、一意の属性文字列を介してアクティブなメモリ内のオブジェクトを見つけるための受け入れ可能な方法ですか? そうでない場合は、それぞれのファイルに変数をインポートする無限ループを作成せずに、異なるファイル間を移動しながらオブジェクトを見つける方法を教えてください。