This is because powers in python are performed as a float operation (this is true for numpy as well, because it uses C).
In C, the pow function provides 3 methods:
double pow (double x, double y)
long powl (long double x, long double y)
float powf (float x, float y)
Each of these are floating point operations.