我想有一个函数,它是通过一些参数(这可能会有所不同的函数执行),但不是所有的一次,然后执行该函数时,给定其余的参数。你知道吗
这就是回调:
foo(argument)
但是foo是预先使用其他参数定制的。你知道吗
作为一个简单的例子,让我们以重叠和非重叠文本搜索为例。我有一个功能:
def textSearch(text,substring,overlapping):
...
... # Do stuff
return index
它接受文本体、子字符串和布尔值。它使用重叠或非重叠搜索在文本体中搜索子字符串。我希望能够创建一个具有减少回调的函数实例:
textSearch(text)
通过在回调之前参数化子字符串和重叠字段,而无需创建另一个函数定义。然后可以在多个文本实例上调用该函数,并使用这些参数进行操作。但是,函数的单独实例应该能够同时存在不同的参数。你知道吗
我得到了一个存储在变量mysearch中的函数实例。函数接受一个文本参数并返回较大文本中文本起始字符的索引。但是,我不关心它是重叠的还是不重叠的,也不关心要搜索的文本是什么。我只想打电话给:
mysearch("Pancakes")
由于mysearch已预先参数化为文本“Pancakes is delicious.”的非重叠搜索,因此结果将为0(文本开头的索引)。你知道吗
或者可能给了我一个不同的配置,它以重叠的方式搜索不同的文本。我想打电话给:
mysearch("Hash browns")
这样做的目的是使接口保持一致,而不必担心定义函数工作方式的参数或重写函数定义。有没有办法做到这一点?你知道吗
对于这个用途^{} 。你知道吗
尽管您可以通过给原始的
textSearch
函数一些默认参数值来解决问题。你知道吗相关问题 更多 >
编程相关推荐