For example
def asdf(x):
return (x / 2)
asdf(4.0)
asdf(5.0)
The returned value of 2.0 will be converted to 2 whereas 2.5 won't be converted to 2.
The float object has a method float.is_integer to determine whether it is an integer:
>>> 2.0.is_integer()
True
>>> 2.1.is_integer()
False
So if it returns true, you can convert it to an integer:
>>> def asdf(x):
... res = x / 2
... return int(res) if res.is_integer() else res
...
>>> asdf(4.0)
2
>>> asdf(5.0)
2.5