I'm not sure what you are asking, but I'll do my best.
For a function without a return statement None is returned.
def doNothing():
print('doing nothing')
b = doNothing()
print b
I think you might be asking is, "What is the difference between modifying a variable in a function to change it, versus reassigning it using the value returned from the function. There's not really a function difference for simple variable types (int, double, float), but lists and dictionaries are passed into functions as references.
In example 1 we pass "b" into doubleNumber and it gets modified inside the function, but **** doesn't affect the actual variable value after the function ends.
In example 2, because we are using a list, we aren't just passing the value into the doubleNumber, we are passing a reference to "b" so anything we do in that function affects the variable even after the function ends.
# Example 1
def doubleNumber(a):
a = a*2
b = 2
doubleNumber(b)
print b
# Example 2
def doubleNumber(a):
a.append('3')
b = [2]
doubleNumber(b)
print b
For stuff like this it's probably better to look at basic python information sites, rather than ones specific to Maya.