请原谅我在标题中措辞不佳,但这里有一个更长的解释:
我有一个函数,它作为参数接受一些函数,这些函数用于确定从数据库中检索哪些数据,例如:
def customer_data(customer_name, *args):
# initialize dictionary with ids
codata = dict([(data.__name__, []) for data in args])
codata['customer_observer_id'] = _customer_observer_ids(customer_name)
# add values to dictionary using function name as key
for data in args:
for coid in codata['customer_observer_id']:
codata[data.__name__].append(data(coid))
return codata
这使得对函数的调用看起来像这样:
customer_data('customername', target_parts, source_group, ...)
这些函数之一是用一个额外的参数定义的:
def polarization_value(customer_observer_id, timespan='day')
我想要的是一种巧妙地改变时间跨度变量的方法。一种明显的方法是在 customer_observer 中包含一个关键字参数,并在被调用的函数名称为“polarization_value”时添加一个异常,但我觉得有更好的方法来做到这一点。