attribute定义
attributes: an object that is bound to the class or the object
function和method区别
method: an attribute that is callable
code introspection
recover the source code of our functions/methods
inspect.getsource(my_func)
'''
a string containing our entire def statement, including
annotation, docstring, etc.
'''
higher order function定义
a function that that takes a function as a parameter and/or returns a function as its return value
reducing function定义
a function that recombine an iterable recursively, ending up with a single return value
也被称为 accumulator/aggregator/folding functions