Python 2.7 文档对 hashlib 哈希器有这样的说法:
hash.update(arg)
Update the hash object with the string arg. [...]
但是我看到人们给它提供不是字符串的对象,例如buffers、numpy ndarrays。
鉴于 Python 的鸭子类型,我对可以指定非字符串参数并不感到惊讶。
问题是:我怎么知道哈希器对论点做了正确的事情?
我无法想象哈希器天真地对参数进行浅层迭代,因为对于具有多个维度的 ndarray,这可能会失败 - 如果你进行浅层迭代,你会得到一个 n-1 维度的 ndarray。