python之魔术方法

文章详细介绍了Python中哈希方法的作用,包括文件校验和作为集合中去重依据的角色。同时,讨论了__hash__和__eq__方法如何协同工作以确保对象在集合中的唯一性。还提到了bool方法用于对象的布尔转换,以及repr和str方法在对象表示和输出中的差异。最后,文章提到了bytes方法用于获取对象的字节表示。

Hash方法

HASH是根据文件的内容的数据通过逻辑运算得到的数值
作用:
不同HASH值的文件在电驴(eMule)里被认为是不同的文件,HASH值还有文件校验的功能,相当于文件的校验码
__hash__方法:内建函数hash()调用的返回值,返回一个证书。如果定义这个方法该类的实例就可以hash。

class A:
    pass
#hash返回随机数  每一次返回一样的值
# print(hash(A))
# print(hash(A()))
# print(hash(A))
# print(hash(A()))

print(hash(A))
print(hash(A))
print(hash(A()))
print(hash(A()))

hash值对实例作用:对一个实例调用时访问的特殊方法

class A:
    def __init__(self,name,age=18):
        self.age = age
        self.name = name

    def __hash__(self):
        return 1
        
print(hash(A))
print(hash(A))
print(hash(A('tom')))
print(hash(A('jerry')))

set集合的特点是没有索引值,且元素不能重复。
示例:

class A:
    def __init__(self,name='tom', age=18):
        self.name = name
        self.age = age

    def __hash__(self):
        return 1

    def __repr__
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值