描述:返回对象的哈希值
语法:hash(object)
参数:object -- 对象;
案例:
hash() 函数可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary
在 hash() 对对象使用时,所得的结果不仅和对象的内容有关,还和对象的 id(),也就是内存地址有关。
class Test:
def __init__(self, i):
self.i = ifor i in range(10):
t = Test(1)
print(hash(t), id(t))
hash(point1)16294976hash('返回对象的哈希值')4919828709165481160hash()
函数的用途hash() 函数的对象字符不管有多长,返回的 hash 值都是固定长度的,
也用于校验程序在传输过程中是否被第三方(木马)修改,
如果程序(字符)在传输过程中被修改hash值即发生变化,
如果没有被修改,则 hash 值和原始的 hash 值吻合,
只要验证 hash 值是否匹配即可验证程序是否带木马(病毒)。
name1='正常程序代码'name2='正常程序代码带病毒' print(hash(name1))
# -3048480827538126659print(hash(name2)) # -9065726187242961328