显然(在“未来”)将不再可能使用以下内容:
import numpy as np
np.array([0,1,2]) == None
> False
> FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
这也打破了numpy数组的延迟加载模式:
import numpy as np
def f(a=None):
if a == None:
a = <some default value>
<function body>
还有什么其他可能性允许您仍然使用惰性初始化?
您正在寻找
is
:问题是,通过使用
==
运算符,如果输入元素a
是一个numpy数组,numpy将尝试执行按元素比较,并告诉您无法进行比较。对于
a
一个numpy数组,a == None
给出错误,np.all(a == None)
没有(但没有达到您期望的效果)。相反,a is None
将工作,而不考虑a
的数据类型。相关问题 更多 >
编程相关推荐