mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-13 20:27:29 -05:00
679 B
679 B
title | date | draft | tags | |
---|---|---|---|---|
Quick Python: Cached Property | 2020-04-18T18:29:21-04:00 | false |
|
If you have a property in an object that only needs to be computed once, consider using cached_property
to store the result and serve for future function calls.
import functools
class Number:
def __init__(self, n):
self.n = n
@functools.cached_property
def is_prime(self):
return all(self.n % i for i in range(2, self.n))
Let's test it with the Mersenne prime 524287
.
n = Number(524287)
n.is_prime
After maybe 1-2 seconds of thinking you should get True.
Run it again and the result will be instantaneous!