类方法在dask中是纯的吗?

类方法在dask中是纯的吗?,dask,Dask,这在Dask中是否有效使用了pure 假设在计算过程中,bar从未更改,但在我设置计算时它可能会更改 from dask import delayed class a: def __init__(self): self.bar = 1 def foo(self, b): return self.bar + b def dask_foo(self, b): return delayed(self.foo, pure=Tru

这在Dask中是否有效使用了
pure

假设在计算过程中,
bar
从未更改,但在我设置计算时它可能会更改

from dask import delayed


class a:
    def __init__(self):
        self.bar = 1
    def foo(self, b):
        return self.bar + b
    def dask_foo(self, b):
        return delayed(self.foo, pure=True)(b)

是的,这是有效的用法:您有效地断言了
bar
属性(它不是延迟函数的参数)不会因任何后续调用而更改。当你说某个东西是“纯的”时,Dask假设每次调用参数
b=5
都会得到相同的结果。 请注意,如果多次使用相同的
b
值调用
dask_foo
,则每次生成的延迟对象的键都是相同的。如果您有
pure=False
,则每次都会得到一个随机的UUID部分


在这种情况下,您显然可以通过更改
条的值来打破自己的断言:不要这样做

因此,它可以在图形执行之前更改,但不能在图形执行时更改。谢谢