如何查看函数属性?
How to see function attributes?
在Python中函数(函数对象)可以有属性。
例如:
def func(a):
return a*a
func.attr = 1
有没有办法查看此属性及其值?
我尝试了 inspect
模块中的 inspect.getfullargspec
,但它只显示函数参数。
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}
这里可以使用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
在Python中函数(函数对象)可以有属性。
例如:
def func(a):
return a*a
func.attr = 1
有没有办法查看此属性及其值?
我尝试了 inspect
模块中的 inspect.getfullargspec
,但它只显示函数参数。
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}
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