设置现有numpy对象的哈希值

2024-03-29 06:53:18 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的实验中,我有一个numpy对象的实例,我需要设置它的__hash__方法。你知道吗

我尝试过各种方法(实际上似乎完全相同):

import numpy as np
x = np.array([1, 2, 3])
x.flags.writeable = False  # set the array immutable

setattr(x, '__hash__', lambda self: 0)  # doesn't work without self either
AttributeError: 'numpy.ndarray' object attribute '__hash__' is read-only

x.__hash__ = lambda self: 0
AttributeError: 'numpy.ndarray' object attribute '__hash__' is read-only

有没有办法强迫对象接受我的实现?这实际上是一个更广泛的问题:有没有一种方法可以将任何属性/方法分配给现有的对象(包括魔术方法等)?你知道吗


Tags: 对象方法lambdaselfnumpyonlyreadobject