Während ich mich gerne als einigermaßen kompetenten Python-Codierer betrachte, ist ein Aspekt der Sprache, die ich nie beherrschen konnte, Dekorateure.
Ich weiß, was sie sind (oberflächlich), ich habe Tutorials, Beispiele und Fragen zum Stapelüberlauf gelesen und ich verstehe die Syntax, kann meine eigene schreiben, gelegentlich @classmethod und @staticmethod verwenden, aber mir fällt nie ein, a zu verwenden Dekorateur, um ein Problem in meinem eigenen Python-Code zu lösen. Ich stoße nie auf ein Problem, bei dem ich denke: "Hmm ... das sieht nach einem Job für einen Dekorateur aus!"
Ich frage mich also, ob ihr vielleicht einige Beispiele dafür anbietet, wo ihr Dekorateure in euren eigenen Programmen verwendet habt, und hoffentlich habe ich ein "A-ha!" Moment und hol sie dir .
functools.lru_cache
, der genau das tut, was Peter seit Python 3.2 im Februar 2011