Here I got 2 sets of code
Parentheses are the syntax for calling a function. Not strictly an operator but you could consider it that way:
inner() # Call the function
Functions have return values (default is
inner function and returns whatever
inner is just a reference to an object.
x = 42
x is a reference to an
def inner(): pass
inner is a reference to a function.
x = inner followed by
x() is perfectly valid.
So returning a name, any name, is just returning a reference to the object to which it refers, whatever that might be. A function, an integer, an elephant, whatever.