stouputils.data_science.range_tuple module#
This module contains the RangeTuple class, which provides a named tuple for range parameters.
This class contains methods for:
Iterating over range values
Accessing range values by index
Slicing range values
Converting to string representation
- class _RangeTupleBase(mini: float | None, maxi: float | None, step: float | None, default: float | None)[source]#
Bases:
NamedTuple
Base class for RangeTuple
- mini: float | None#
The minimum value (inclusive) (can be None if default is set)
- maxi: float | None#
The maximum value (exclusive) (can be None if default is set)
- step: float | None#
The step value between elements (can be None if default is set)
- default: float | None#
Optional default value, usually middle of range
- _asdict()#
Return a new dict which maps field names to their values.
- _field_defaults = {}#
- _fields = ('mini', 'maxi', 'step', 'default')#
- classmethod _make(iterable)#
Make a new _RangeTupleBase object from a sequence or iterable
- _replace(**kwds)#
Return a new _RangeTupleBase object replacing specified fields with new values
- class RangeTuple(mini: float | None = None, maxi: float | None = None, step: float | None = 1.0, default: float | None = None)[source]#
Bases:
_RangeTupleBase
A named tuple containing range parameters.
- mini#
The minimum value (inclusive) (can be None if default is set)
- Type:
float
- maxi#
The maximum value (exclusive) (can be None if default is set)
- Type:
float
- step#
The step value between elements (can be None if default is set)
- Type:
float
- default#
Optional default value, usually middle of range
- Type:
float|None
Examples
>>> r = RangeTuple(mini=0.0, maxi=1.0, step=0.3) >>> print(r) mini=0.0, maxi=1.0, step=0.3, default=None >>> [int(x*10) for x in r] [0, 3, 6, 9] >>> len(r) 4 >>> r[0] 0.0 >>> r[100], r[99] # High indexes will bypass the maximum value (30.0, 29.7) >>> r[1:3] [0.3, 0.6] >>> round(r[-2], 1) 0.6 >>> r = RangeTuple() Traceback (most recent call last): ... ValueError: RangeTuple parameters must not be None
- random() float [source]#
Return a random value from the range. If the range is not initialized, return the default value.
- Returns:
Random value from the range
- Return type:
float
Examples
>>> r = RangeTuple(mini=0.0, maxi=1.0, step=1.0) >>> 0.0 <= r.random() <= 1.0 True >>> r = RangeTuple(default=1.0) >>> r.random() 1.0