顾名思义,数据类型就是指数据的类型,计算机不像人,能够很好的分辨数据类型,比如,计算机就不知道这个数据到底是字符串还是数值。计算机在用这个数据进行计算时就会出现问题。
为了避免这种情况,需要对数据贴一个标签,这个标签就是类型。告诉计算机遇到这种数据应该怎么处理。
创新互联致力于成都网站制作、做网站,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!
哈希(Hash),一般翻译做散列、杂凑。是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。
这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。
简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
在Python学习中经常会遇到两个概念,可哈希和不可哈希。其实可哈希就是指数据不可原地修改,而不可哈希就是指数据可原地修改。比如在Python中,字符串数据类型就是可哈希的(不可变),而列表数据类型就是不可哈希的(可变)。
描述
hash函数返回该对象的哈希值(如果它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键。
相同大小的数字变量有相同的哈希值(即使它们类型不同,如 1 和 1.0)。
整数的哈希值就是其本身。
可变的数据类型在尝试获取哈希值时会报错:unhashable。
示例
print(hash(2))
print(hash(2.0))
print(hash(2.1))
print(hash('hash'))
print(hash([1, 2]))
2
2
-
Traceback (most recent call last):
File "E:\studypy\tmp.py", line 6, in
print(hash([1, 2]))
TypeError: unhashable type: 'list'
Python中比较重要且常用的数据类型有以下6种:
Python3 的6个标准数据类型中,相关属性如下表:
数据类型 | 可哈希 | 可迭代 | 序列 |
---|---|---|---|
数字 | 可哈希 | 不可迭代 | NULL |
字符串 | 可哈希 | 可迭代 | √ |
列表 | 不可哈希 | 可迭代 | √ |
元组 | 可哈希 | 可迭代 | √ |
集合 | 不可哈希 | 可迭代 | × |
字典 | 不可哈希 | 可迭代 | × |
接下来的章节,我们会对这些数据类型进行详细介绍。
可以使用type函数和isinstance函数来判断某个对象的类型。
描述
type函数用来返回指定对象的类型。
示例
>>> type('1')
>>> type(1)
>>> type(1.1)
描述
isinstance函数用来返回某个对象是否是指定的对象类型。
示例
>>> isinstance(1, int)
>>> isinstance(1.1, str)
True
False