Forgive me if this question has been asked before but I could not find any related answer.
Consider a function that takes a numerical type as input parameter:
def foo(a):
return ((a+1)*2)**4;
This works with integers, floats and complex numbers.
Is there a basic type so that I can do a type hinting (of a real existing type/base class), such as:
def foo(a: numeric):
return ((a+1)*2)**4;
Furthermore I need to use this in a collection type parameter, such as:
from typing import Collection;
def foo(_in: Collection[numeric]):
return ((_in[0]+_in[1])*2)**4;
PEP 3141 added abstract base classes for numbers, so you could use:
from numbers import Number
def foo(a: Number) -> Number:
...