gpt4 book ai didi

python - 来自 abc 模块的可散列抽象类

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:21 25 4
gpt4 key购买 nike

我通过阅读“Fluent Python”的第二章了解了 abc 模块。所以我开始写一些代码来玩玩它。为什么空类是抽象基类 Hashable 的实例?

from collections import abc

class foo:
pass

print(isinstance(foo,abc.Hashable)) # True

最佳答案

所有 isinstance(foo, abc.Hashable) 所做的是检查您的对象是否有一个 __hash__ 方法,这是 Python 调用来散列对象的方法。类本身就是一个对象,因此继承了object.__hash__ 方法。

class Foo:
pass

isinstance(Foo, object) # True
Foo.__hash__ # <slot wrapper '__hash__' of 'object' objects>

hash(Foo) # -9223371900938361605

关于python - 来自 abc 模块的可散列抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370798/

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