gpt4 book ai didi

python - 我应该如何实现 __hash__ 和 __str__

转载 作者:行者123 更新时间:2023-12-04 13:22:27 24 4
gpt4 key购买 nike

我有一个名为 WeakBoundMethod 的类(codereview.se 上的 source)。我想要一些关于我应该如何实现的指南 __hash__() .此外,Python 3 自动提供了 __repr__()函数,所以我想我不应该费心重新定义它(?)。怎么样__str__() ,据我所知,这是对象的人类可读文本表示;我也应该定义吗?任何指导方针?

关于散列函数...
我希望它根据 __self__ 生成哈希值和 __func__它正在包装的绑定(bind)方法。我怎样才能做到这一点?

最佳答案

如果有疑问,请不要实现魔术方法 .默认值存在是有原因的,并且会很好。在您的情况下,完全没有必要实现 __hash__ (如果你要实现它,你也必须实现 __eq__)除非你希望有人有一组方法或字典。
__str__可能有用。在您的情况下,其结果应包括:

  • 类名,以避免与其他任何内容混淆
  • 函数是否存活
  • 如果它活着,它的str()结果来识别函数,例如,按名称
  • 关于python - 我应该如何实现 __hash__ 和 __str__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299062/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com