数据类型前置知识

4.1 数据类型前置知识

4.1.1 数据类型的概念

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

4.1.2 哈希

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

4.1.2.1 hash(obj)

描述
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
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)

<class 'str'>
<class 'int'>
<class 'float'>

4.1.4.2 isinstance(object, classinfo)

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

True
False

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:数据类型前置知识 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • Python词频分析

    Python词频分析 一、前言 在日常工作或者生活中,有时候会遇到词频分析的场景。如果是要进行词频分析,那么首先需要对句子进行分词,将句子中的单词进行切割并按照词性进行归类。在Python中有个第三方库叫jieba(结巴),可以对文章或者语句进行分词。不得不佩服这个库的作者,真是个取名鬼才:) 二、分词 2.1 安装库 jieba库github地址jieba…

    2023年4月2日
    00
  • Python特性

    3.1 Python特性 Python是为可读性设计的,与英语有一些相似之处,并受到数学的影响。比如: Python使用新行来完成命令,而不像通常使用分号或括号的其他编程语言。 Python依赖缩进,使用空格来定义范围;例如循环、函数和类的范围。其他编程语言通常使用花括号或关键字来实现此目的。 Python中没有单个字符,单字符被认为是1个字符的字符串。 对…

    Python开发 2023年4月2日
    00
  • JSON

    4.8 JSON 4.8.1 JSON简介 JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数…

    Python开发 2023年4月2日
    00
  • 函数的特殊使用方式

    5.4 函数的特殊使用方式 5.4.1 匿名函数 所谓匿名函数,即不再使用def语句这样标准形式定义的函数。Python中可以使用lambda关键字来创建匿名函数。用lambda创建的匿名函数的函数体比def定义的函数体要简单。语法如下: lambda [参数1[,参数2],….参数n]]:表达式 lam_sum = lambda arg1, arg2:…

    Python开发 2023年4月2日
    00
  • Python简单语句

    3.5 Python简单语句 Python语句由关键字、标识符、表达式组成。语句的根本作用就是执行某些修改操作,让代码发挥作用去做某些事。语句从执行结构上来分有顺序、条件、循环结构,这3种结构可以实现任何算法功能。Python语句根据代码占用的逻辑行数分为只占用1行的简单语句和占用多行的复合语句。 3.5.1 赋值语句 赋值语句用于将名称(重)绑定到特定值,…

    Python开发 2023年4月2日
    00
  • 列表(list)

    4.4 列表(list) 列表是Python中使用最频繁也是最重要最灵活的一种数据结构。Python列表中的元素类型可以不同,可以存放各种各样的数据,比如:数字、字符串、函数、类、字典等,甚至还可以嵌套存放列表。列表也是一种序列,可以通过索引获取列表中的元素。支持序列的各种操作。 4.4.1 列表的创建 4.4.1.1 通过列表标识符号创建 列表在创建的时候…

    Python开发 2023年4月2日
    00
  • Python代码块及输入输出

    3.7 Python代码块及输入输出 3.7.1 Python代码块 前面分别介绍了关键字、运算符,由运算符和操作数组成了表达式。而语句由关键字、标识符、表达式组成。而代码块由若干条语句组成。通常Python中的代码块是通过缩进来创建的。在很多语言中,都使用一个特殊的单词或字符,比如begin或{来标识代码块的起始位置,并使用另一个特殊的单词或字符,如end…

    Python开发 2023年4月2日
    00
  • 元组(tuple)

    4.5 元组(tuple) 元组这种数据类型和列表非常相似,也是一种序列。和列表的不同之处在于存放到元组内的数据不能直接修改。元组是一种可迭代对象。使用元组可以使程序运行性能提升,因为一般来说,创建元组类型tuple的变量比列表类型list要快,而且占用更小的存储空间。 4.5.1 元组的创建 4.5.1.1 通过逗号创建 >>> tup1…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部