首页 > 编程语言 > 详细

Python3中id和hash内置函数的区别

时间:2020-10-02 13:28:18      阅读:57      评论:0      收藏:0      [点我收藏+]

id内置函数

a = "instance"

print(id(a))  

打印出来的是十进制的内存地址    37570672  

我们要区别的是 

def  func():

      pass

print(func)  

此时打印的是十六进制的内存地址  <function func at 0x0000000002481EE0>

hash内置函数

示例一

print(hash(1234)) # 1234 对于数字的hash值 就是它本身

print(hash("scripts")) # 通过hash算法给b计算出一个数字 -933447000758684308

示例二

hash算法只能计算不可变类型,对于字典的key在计算机中的存储就是通过hash算法后去存储,

如果可变类型,就不可通过hash算法,所以字典的key必须不可变类型

c = []

print(hash(c)) # 此时程序保存,unhashable type: ‘list‘因为列表类型是可变类型

d = {[]: 123} # 此时程序报错 unhashable type: ‘list‘ 和我们去hash算一个

列表报错是一样的,字典是先给key先哈希然后去存储的

 




Python3中id和hash内置函数的区别

原文:https://www.cnblogs.com/wqx851/p/13760791.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!