【发布时间】:2023-01-25 19:35:59
【问题描述】:
我正在查看一个充当类工厂并将函数作为参数的函数:
def Example(func):
class Example(object):
def __init__(self, name):
self._name = name
return Selection
还有另一个单独的功能:
def other_function(flags):
flagvals = np.unique(flags)
return {val: flags == val for val in flagvals}
然后我看到第一个函数作为参数与第二个函数一起使用:
my_example = Example(other_function)
任何人都可以解释为什么 other_function 在定义时似乎需要参数时似乎不需要参数本身吗?
【问题讨论】:
-
my_example = Example(other_function)您正在传递函数本身,而不是调用它。为什么要传递任何参数? -
因为你没有在这里调用它。当你执行
func(flags)时,你将需要一个参数。 -
除了 Fractalism 的上述解释外,我们无法提供更多见解,因为您发布了一些随机的不清楚代码。
Example函数从不使用参数func并且也不清楚Selection是什么......