python __hash__ & __eq__
__hash__
- 要让对象可散列,就要实现其__hash__方法,常用方案是将对象中各个分量的散列值异或,构成整个向量对象的散列值。
- 其中reduce是归约函数,其有三个参数,第一个是有两个操作数的函数,第二个是可迭代对象,第三个是可迭代对象为空时返回的默认值。
- operator模块以函数的形式提供了python中全部中缀运算符,方便使用。
__eq__
- 要让对象可散列的话,__hash__方法和__eq__方法要同时实现。
- 其中zip函数用于并行迭代两个或更多的可迭代对象,当其中一个可迭代对象耗尽后,会不发出警告就停止。
- itertools.zip_longest函数可以使用可选的默认值来填充缺失的值,然后继续产出直到最长的可迭代对象耗尽。
浙公网安备 33010602011771号