Python 如何动态创建新的函数参数

Python 如何动态创建新的函数参数,python,python-3.x,function,parameter-passing,Python,Python 3.x,Function,Parameter Passing,我有一个聊天机器人,它显示每个功能参数,因此用户可以更改它,然后在聊天中获得功能结果 假设我有一个函数: def func(a=0, b=0): return a+b func(*user_settings) 但我希望它能够识别用户。我不能只添加一个“用户”参数,因为它将显示在聊天中。 我可以动态地向函数添加一个参数,使其变得像smth一样: def func(a=0, b=0): print(func.user) return a+b (add 'user' pa

我有一个聊天机器人,它显示每个功能参数,因此用户可以更改它,然后在聊天中获得功能结果

假设我有一个函数:

def func(a=0, b=0):
    return a+b

func(*user_settings)
但我希望它能够识别用户。我不能只添加一个“用户”参数,因为它将显示在聊天中。 我可以动态地向函数添加一个参数,使其变得像smth一样:

def func(a=0, b=0):
    print(func.user)
    return a+b

(add 'user' parameter)
func(*user_settings)
函数是一个对象,对吗? 我认为硬编码不显示特定参数太愚蠢了。 p、 该功能也进行了装饰

func.user=user

对我有用,谢谢@ThomasLang

是的,您可以添加func.user,但这相当于具有静态生存期的变量。@ThomasLang+谢谢!函数属性不常用;通常,您将创建一个实例具有用户属性的类,func将是该类的一个方法。