The math-module contains another math.pow() function. The difference to the builtin pow()-function or ** operator is that the result is always a float:
import math
math.pow(2, 2) # 4.0
math.pow(-2., 2) # 4.0
Which excludes computations with complex inputs:
math.pow(2, 2+0j)
TypeError: can't convert complex to float
and computations that would lead to complex results:
math.pow(-2, 0.5)
ValueError: math domain error