func(argument-list).
There are really two flavors of function objects: built-in functions and user-defined functions. Both support the same operation (to call the function), but the implementation is different, hence the different object types.
The implementation adds two special read-only attributes:
f.func_code is a function's code object (see below) and
f.func_globals is the dictionary used as the function's
global name space (this is the same as m.__dict__ where
m is the module in which the function f was defined).