Skip to content

Commit 8a12305

Browse files
committed
Steps._len is a cached property
1 parent 1a90c7e commit 8a12305

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/stagpy/stagyydata.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,6 @@ class Steps:
297297
def __init__(self, sdat: StagyyData):
298298
self.sdat = sdat
299299
self._data: dict[int, Step] = {}
300-
self._len: int | None = None
301300

302301
def __repr__(self) -> str:
303302
return f"{self.sdat!r}.steps"
@@ -336,9 +335,11 @@ def __delitem__(self, istep: int | None) -> None:
336335
self.sdat._field_cache.evict_istep(istep)
337336
del self._data[istep]
338337

338+
@cached_property
339+
def _len(self) -> int:
340+
return self.sdat.tseries.isteps[-1] + 1
341+
339342
def __len__(self) -> int:
340-
if self._len is None:
341-
self._len = self.sdat.tseries.isteps[-1] + 1
342343
return self._len
343344

344345
def __iter__(self) -> Iterator[Step]:

0 commit comments

Comments
 (0)