>> x-6ren">
gpt4 book ai didi

python - 在Python中,有没有好的 "magic method"来表示对象相似度呢?

转载 作者:行者123 更新时间:2023-11-28 19:57:23 25 4
gpt4 key购买 nike

我希望我的自定义类的实例能够相互比较自己的相似性。这不同于 __cmp__方法,用于确定对象的排序顺序。

是否有一种神奇的方法对此有意义?是否有执行此操作的任何标准语法?

我想象中的样子:

>>> x = CustomClass("abc")
>>> y = CustomClass("abd")
>>> z = CustomClass("xyz")
>>> x.__<???>__(y)
0.75
>>> x <?> y
0.75
>>> x.__<???>__(z)
0.0
>>> x <?> z
0.0

在哪里<???>是魔法方法名称,<?>是运营商。

最佳答案

看看 numeric types emulation in the datamodel并选择适合您的运算符钩子(Hook)。

不过,我认为目前没有完全匹配的运算符,因此您最终会让一些倒霉的 future 代码维护者(甚至可能是您)感到惊讶,因为您重载了标准运算符。

对于 Levenshtein 距离,我只会使用常规方法。在阅读代码时,我会发现 one.similarity(other) 方法更加清晰。

关于python - 在Python中,有没有好的 "magic method"来表示对象相似度呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14571144/

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