Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在函数定义中设置函数属性?_Python_Function_Functools - Fatal编程技术网

Python 如何在函数定义中设置函数属性?

Python 如何在函数定义中设置函数属性?,python,function,functools,Python,Function,Functools,如何在函数定义中设置函数属性 例如,有没有一种方法可以在函数定义中实现这一点: def test(): pass test.order = 1 因此,大致如下: def test(): self.order = 1 pass print(test.order) 在python中,函数也是一个对象,所以当然可以设置函数的属性 但是函数的属性与函数的逻辑无关,因此您可能希望在函数之外定义它们装饰器可能是一个不错的选择 def function_mark(**kwarg

如何在函数定义中设置函数属性

例如,有没有一种方法可以在函数定义中实现这一点:

def test():
    pass

test.order = 1
因此,大致如下:

def test():
    self.order = 1
    pass

print(test.order)

在python中,函数也是一个对象,所以当然可以设置函数的属性

但是函数的属性与函数的逻辑无关,因此您可能希望在函数之外定义它们<代码>装饰器可能是一个不错的选择

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)

你为什么需要这个?你想读取函数的局部变量吗?@scriptboy我想用一个函数作为另一个函数的输入,但有一些依赖于输入函数的逻辑。