why when i write -2 ** 2 in python the result is -4 but my lambda function is returning 4 anyone could explain why this is happening
two = lambda: 2
sqr = lambda x: x * x
pwr = lambda x, y: x ** y
for a in range(-2, 3):
print(sqr(a), end=" ")
print(a,"**",two(),"=",pwr(a, two()))