数据类型前置知识

打印 上一主题 下一主题

主题 925|帖子 925|积分 2775

4.1 数据类型前置知识

4.1.1 数据类型的概念

顾名思义,数据类型就是指数据的类型,计算机不像人,能够很好的分辨数据类型,比如10086,计算机就不知道这个数据到底是字符串还是数值。计算机在用这个数据进行计算时就会出现问题。
为了避免这种情况,需要对数据贴一个标签,这个标签就是类型。告诉计算机遇到这种数据应该怎么处理。
4.1.2 哈希

哈希(Hash),一般翻译做散列、杂凑。是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。
这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。
简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
在Python学习中经常会遇到两个概念,可哈希和不可哈希。其实可哈希就是指数据不可原地修改,而不可哈希就是指数据可原地修改。比如在Python中,字符串数据类型就是可哈希的(不可变),而列表数据类型就是不可哈希的(可变)。
4.1.2.1 hash(obj)

描述
hash函数返回该对象的哈希值(如果它有的话)。哈希值是整数。它们在字典查找元素时用来快速比较字典的键。
相同大小的数字变量有相同的哈希值(即使它们类型不同,如 1 和 1.0)。
整数的哈希值就是其本身。
可变的数据类型在尝试获取哈希值时会报错:unhashable。
示例
  1. print(hash(2))
  2. print(hash(2.0))
  3. print(hash(2.1))
  4. print(hash('hash'))
  5. print(hash([1, 2]))
复制代码
2
2
230584300921369602
-1167130528123277563
Traceback (most recent call last):
File "E:\studypy\tmp.py", line 6, in
print(hash([1, 2]))
TypeError: unhashable type: 'list'
4.1.3 Python常见数据类型

Python中比较重要且常用的数据类型有以下6种:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)
Python3 的6个标准数据类型中,相关属性如下表:
数据类型可哈希可迭代序列数字可哈希不可迭代NULL字符串可哈希可迭代√列表不可哈希可迭代√元组可哈希可迭代√集合不可哈希可迭代×字典不可哈希可迭代×接下来的章节,我们会对这些数据类型进行详细介绍。
4.1.4 判断数据类型

可以使用type函数和isinstance函数来判断某个对象的类型。
4.1.4.1 type(obj)

描述
type函数用来返回指定对象的类型。
示例
>>> type('1')
>>> type(1)
>>> type(1.1)



4.1.4.2 isinstance(object, classinfo)

描述
isinstance函数用来返回某个对象是否是指定的对象类型。
示例
>>> isinstance(1, int)
>>> isinstance(1.1, str)
True
False

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表