Function attributes
Every function is a fully fledged object and, as such, it has several attributes. Some of them are special and can be used in an introspective way to inspect the function object at runtime. The following script is an example that shows a few of them and how to display their value for an example function:
# func.attributes.py
def multiplication(a, b=1):
"""Return a multiplied by b."""
return a * b
if __name__ == "__main__":
special_attributes = [
"__doc__",
"__name__",
"__qualname__",
"__module__",
"__defaults__",
"__code__",
"__globals__",
"__dict__",
"__closure__",
"__annotations__",
"__kwdefaults__",
]
for attribute in special_attributes:
print(attribute, "->", getattr(multiplication...