【问题标题】:How to create a new function parameter dynamically如何动态创建新的函数参数
【发布时间】: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


【解决方案1】:
func.user=user

为我工作,感谢@ThomasLang

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 2018-05-22
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    • 2023-01-04
    • 2019-02-09
    • 2019-12-17
    • 1970-01-01
    相关资源
    最近更新 更多