【发布时间】:2021-10-01 09:14:07
【问题描述】:
所以,我想写一个装饰器,它接受一个函数,并根据该函数参数决定是否做某事。
这个想法是,有了这个装饰器,函数支持这样的输入:
myFunction("a", "b", "c")
还有这样的输入:
myFunction(["a", "b", "c"])
def accept_list_input(function):
def wrapper(function):
try:
function()
except typeError:
# (function's argument that i don't know how to access)= function's argument that i don't know how to access[0]
return wrapper
@accept_list_input
def myFunction(*arguments):
#stuff
【问题讨论】:
-
那么你到底不希望这个函数允许什么作为参数?
-
我希望这个函数将列表对象和无限参数作为输入,用逗号分隔但不作为列表
-
这毫无意义,您只是自相矛盾地说您希望它接受一个列表而不是参数作为一个列表。
-
这里好像没有问题。您当前的方法不能按您希望的方式工作。你能提供一个输入和预期输出的例子吗?
标签: python function arguments decorator