【发布时间】:2019-05-09 12:18:12
【问题描述】:
我有一个聊天机器人,它显示了每个函数参数,因此用户可以更改它,然后在聊天中获取函数结果。
假设我有一个函数:
def func(a=0, b=0):
return a+b
func(*user_settings)
但我希望它能够识别用户。我不能只添加一个“用户”参数,因为它将显示在聊天中。 我可以动态地为函数添加一个参数,所以它变得像这样:
def func(a=0, b=0):
print(func.user)
return a+b
(add 'user' parameter)
func(*user_settings)
函数是一个对象,对吧? 我认为只是硬编码而不显示特定参数太愚蠢了。 p.s.函数也被装饰了。
【问题讨论】:
-
是的,您可以添加
func.user,但这相当于具有静态生命周期的变量。 -
@ThomasLang + 谢谢!
-
函数属性不常用;通常,您会创建一个类,其实例具有
user属性,而func将是该类的一个方法。
标签: python python-3.x function parameter-passing