Meh, I think I get it now. After typing all that crap out, and then re-reading it, I believe I get it.
Is a function, so, it's not really doing anything until
if my_abs(a) == my_abs(b):
So, (num) get it's value from my_abs(a), whereas the function my_abs(num) would become my_abs(a).
Sometimes I get stuck on stupid, apologies.