numpy-使用';与';对于np.nditer

numpy-使用';与';对于np.nditer,numpy,Numpy,如NumPy文档中所示,请解释是否有理由对nditer使用with 这是为了理解在使用nditer时是否有必要使用“with”。根据我的理解,“with”是确保资源(例如打开的文件描述符)被释放。我不确定代码中要释放什么资源 def iter_add_py(x, y, out=None): addop = np.add it = np.nditer([x, y, out], [], [['readonly'], ['readonly'], ['wr

如NumPy文档中所示,请解释是否有理由对
nditer
使用
with

这是为了理解在使用nditer时是否有必要使用“with”。根据我的理解,“with”是确保资源(例如打开的文件描述符)被释放。我不确定代码中要释放什么资源

def iter_add_py(x, y, out=None):
    addop = np.add
    it = np.nditer([x, y, out], [],
                [['readonly'], ['readonly'], ['writeonly','allocate']])
    with it:     # <-----
        for (a, b, c) in it:
            addop(a, b, out=c)
    return it.operands[2]
def iter\u add\u py(x,y,out=None):
addop=np.add
it=np.nditer([x,y,out],],
[['readonly']、['readonly']、['writeonly'、'allocate']]

有了它:#实际的问题是什么?您希望这段代码做什么?有点不清楚(所以请编辑问题)。@JérômeRichard,代码本身来自numpy文档,问题是关于“with”,如果有令人信服的理由需要在代码中使用with。文档还说:“要开始使用此对象,请参阅。”您应该阅读介绍性指南。@myrtlecat,谢谢你的指点。确实如此。请注意,除非您将代码移植到介绍末尾所述的
cython
,否则您可能看不到性能改进,