将NumPy对象与“None”进行比较时出现FutureWarning警告

6

我有一个函数,它接受一些必需的参数以及一些可选参数。在函数中,所采取的操作取决于是否填写了可选参数 c

def func(a, b, c = None):

    doStuff()

    if c != None:
        doOtherStuff()

如果未传递 c ,则这将正常工作。 但是,在我的情况下,如果 c 确实被传递,它将始终是一个numpy数组。 将numpy数组与 None 进行比较会产生以下警告:

FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.

那么,最干净、最通用的方法是什么,可以检查是否传递了c,而不需要与None进行比较呢?

1个回答

11

建议使用if c is not None代替。除了避免警告外,这通常被认为是最佳实践。(参考链接)


只是指出在原来的上下文中,“如果c不是None:”是合适的。 - Tim Peters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接