如何在函数定义中设置函数属性/属性?
例如,有没有办法在函数定义中实现这个目的:
def test():
pass
test.order = 1
这就是:
def test():
self.order = 1
pass
print(test.order)
答案 0 :(得分:1)
在python中,function也是一个对象,所以你当然可以设置一个函数的属性。
但是函数的属性与函数的逻辑无关,因此您可能希望在函数外部定义它们。 decorator
可能是个不错的选择。
def function_mark(**kwargs):
def decoractor(func):
func._my_info = kwargs
return func
return decoractor
@function_mark(order=1)
def test():
pass
print(test._my_info)