Typing¶
Satella contains some expressions to help you with typing. You import them from satella.coding.typing. They are as follows:
- NoneType - the type of None
- ExceptionClassType - base type of exception class
- Number - an amalgam of int and float
- T, U, K, V - type vars to use
- Note that K must be hashable
- Iteratable - a generic iterator or an iterable of T
- NoArgCallable - a callable with no arguments returning T
- Appendable - an object which has the append method
- Predicate - a callable that accepts a T and returns a bool
- KVTuple - a tuple of (K, V)
- Comparable - a class that allows comparison between it’s instances
- ExceptionList - either a single exception type or a tuple of exception types.
- As used by except statement and some satella functions.
You may use these generics in your classes, eg.
def enumerate(v: Iteratable[int]) -> int:
...