0

「関数を保存」できるものを見つけようとしました。プログラムを実行すると(一部の関数を含む)、その後関数のアドレスをメモリに保存すると、これらの関数を実行せずに再利用できます。いくつかのアイデアを教えてください(一般的または特にPython、C / C ++など)。私はこれをグーグルで検索しましたが、わかりませんでした:(。ある種のメモリ管理(割り当て、メモリの自由、常駐メモリ...と思います)を考えていました。例:アドレスが「at」の関数があります。 "(プログラムの実行時に生成されます)どうすれば再利用できますか?!よろしくお願いします

4

1 に答える 1

1

Python では、関数はオブジェクトであるため、エイリアスとして使用した任意のラベルから関数を渡したり、割り当てたり、呼び出すことができます。ID (メモリの場所/GUID に相当) を取得することもできます。あなたが意味するのがデータのメモ化/遅延読み込みである場合、そのようなことを行うためにSOおよびGoogleを通じて利用できるリソースが多数あります。それらは一般的に次のようになります。

class Foo(object):
    @staticmethod
    def get_val():
        try:
            return Foo.__val
        except AttributeError:
            #do run-once logic here, assign to Foo.__val
            return Foo.__val
于 2012-04-19T15:01:40.697 に答える