Python 如何查看函数属性?
在Python中,函数(函数对象)可以具有属性 例如:Python 如何查看函数属性?,python,python-3.x,function,attributes,Python,Python 3.x,Function,Attributes,在Python中,函数(函数对象)可以具有属性 例如: def func(a): return a*a func.attr = 1 是否有办法查看此属性及其值 我尝试了inspect.getfullargspec来自inspect模块,但它只显示函数参数 FullArgSpec(args=['a'], varargs=None, varkw=None, defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})
def func(a):
return a*a
func.attr = 1
是否有办法查看此属性及其值
我尝试了inspect.getfullargspec
来自inspect
模块,但它只显示函数参数
FullArgSpec(args=['a'], varargs=None, varkw=None, defaults=None, kwonlyargs=[], kwonlydefaults=None, annotations={})
与任何其他对象一样,您可以使用
vars
:
def func(a):
return a*a
func.attr = 1
print(vars(func))
# {'attr': 1}
与任何其他对象一样,您可以使用
vars
:
def func(a):
return a*a
func.attr = 1
print(vars(func))
# {'attr': 1}
Pythonvars()
函数可用于获取整个对象
代码
def func(a):
return a**3
func.function = "Cubic Function"
func.arguments = "Integers"
print(func(99))
print(vars(func))
print(vars(func)["function"])
print(vars(func)["arguments"])
输出
970299
{'function': 'Cubic Function', 'arguments': 'Integers'}
Cubic Function
Integers
Pythonvars()
函数可用于获取整个对象
代码
def func(a):
return a**3
func.function = "Cubic Function"
func.arguments = "Integers"
print(func(99))
print(vars(func))
print(vars(func)["function"])
print(vars(func)["arguments"])
输出
970299
{'function': 'Cubic Function', 'arguments': 'Integers'}
Cubic Function
Integers
getfullargspec
用于获取完整参数规范,即函数所需的参数。如果要查看属性,请尝试使用例如dir
getfullargspec
获取函数所需的完整参数规范。如果要查看属性,请尝试使用例如dir
。