Difference between low, high and low_limit, high_limit?

The variables that are defined inside the function are local only to that function. They cannot be seen. We need to return their values to see those.

def foo(m, n):
    return m - n, m + n

a, b = foo(100, 20)

What we are doing is unpacking a sequence. The return value contains multiple values, so it is packaged as a sequence (a tuple, probably).