Napisałem małą klasę, aby uporczywie zapamiętać niektóre drogie funkcje, które wykonują różne analizy statystyczne losowych sieci.Python: strategie ciągłego zapamiętywania funkcji za pomocą argumentów funkcji?
To są wszystkie czyste funkcje; wszystkie dane są niezmienne. Jednak niektóre funkcje przyjmują funkcje jako argumenty.
Tworzenie kluczy w oparciu o te argumenty jest małym problemem, ponieważ w Pythonie funkcja równości obiektu jest równoważna tożsamości obiektu funkcji, która nie jest zachowywana między sesjami, nawet jeśli implementacja funkcji się nie zmienia.
Na razie hakuję na ten temat, używając nazwy funkcji jako łańcucha znaków, ale to rodzi roje problemów, gdy zaczyna się myśleć o zmianie implementacji funkcji lub anonimowych funkcji i tak dalej. Ale prawdopodobnie nie jestem pierwszym, który martwi się takimi rzeczami.
Czy ktoś ma jakieś strategie do trwałego zapamiętywania funkcji za pomocą argumentów funkcji w Pythonie?
możliwe duplikat [Persistent memoization w Pythonie] (http://stackoverflow.com/questions/9320463/persistent-memoization-in-python) –
@DanatheSane że nie jest duplikatem --- to nie dyskutować uporczywy memoization między wywołaniami, gdzie funkcje są argumentami do zapamiętanej funkcji. – tobyodavies