在 python 中指定参数

Specify argument in python

我正在尝试使用scipy.sparse.linalg.spilu(http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.linalg.spilu.html#scipy.sparse.linalg.spilu),我想指定milu=silu。

如果我的函数调用是:M=spla.spilu(A=A, milu=silu) 它给我的错误如下所示:

Traceback (most recent call last):
  File "bicgstab_python.py", line 13, in <module>
    M=spla.spilu(A=A, milu=silu)
NameError: name 'silu' is not defined

如果我的函数调用是:M=spla.spilu(A=A, milu='silu') 它给我的错误如下所示:

Traceback (most recent call last):
  File "bicgstab_python.py", line 13, in <module>
    M=spla.spilu(A=A, milu='silu')
TypeError: spilu() got an unexpected keyword argument 'milu'

我想知道我应该在这个函数中正确指定参数 milu 吗?谢谢!

您使用的第二种方式是指定参数的正确方式。

然而,根据scipy最新版本的源代码:https://github.com/scipy/scipy/blob/v0.15.1/scipy/sparse/linalg/dsolve/linsolve.py,spilu函数中没有"milu"参数,但它仍然出现在注释中。所以我想这是一个不再受支持的遗留参数,你不应该在你的代码中使用它。