我遇到了一些类似以下的Keras函数:Function(1 *用逗号分隔的参数列表)(2 * A参数)。但是我不明白函数在第二个参数列表上做什么。我从未在Python中遇到过此类功能。我看到的通常的函数原型类型如下:Function(参数列表)
在Keras中遇到的这些功能的示例:
/**
* Update column dimensions when inserting/deleting rows/columns.
*
* @param Worksheet $pSheet The worksheet that we're editing
* @param string $pBefore Insert/Delete before this cell address (e.g. 'A1')
* @param int $beforeColumnIndex Index number of the column we're inserting/deleting before
* @param int $pNumCols Number of columns to insert/delete (negative values indicate deletion)
* @param int $beforeRow Number of the row we're inserting/deleting before
* @param int $pNumRows Number of rows to insert/delete (negative values indicate deletion)
*/
protected function adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows)
{
$aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true);
if (!empty($aColumnDimensions)) {
foreach ($aColumnDimensions as $objColumnDimension) {
$newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows);
list($newReference) = Coordinate::coordinateFromString($newReference);
if ($objColumnDimension->getColumnIndex() != $newReference) {
$objColumnDimension->setColumnIndex($newReference);
}
}
$pSheet->refreshColumnDimensions();
}
}
在这种情况下,似乎Function会在应用新更改之前考虑到x之前所做的操作。
答案 0 :(得分:1)
这只是一个返回您立即调用的函数的函数。您可以执行相同操作:
def add(x):
def add_x(y):
return x + y
return add_x
此函数现在可以这样调用:
>>> add(4)(7)
11
之所以可行,是因为
函数是一流的对象。在函数定义内执行的“ def”语句定义了可以返回或传递的局部函数。嵌套函数中使用的自由变量可以访问包含def的函数的局部变量。 data.table
另请参阅:[1]。