数据类型前置知识

yizhihongxing

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变量

    4.10 Python变量 4.10.1 变量介绍 变量,顾名思义,就是可以变化的量。变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存…

    Python开发 2023年4月2日
    00
  • 面向对象编程

    6.1 面向对象编程相关概念 6.1.1 什么是面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。在该思想中程序里万物都是对象。OOP把对象作为程序的基本单元,把具有相同行为的对象归纳成类,通过封装隐藏类的内部细节,通过继承使类得到泛化,通过多态实现基于对象类型的动态分类。封装、继承和多态是…

    Python开发 2023年3月31日
    00
  • Python表达式

    3.4 Python表达式 Python表达式是运算符和操作数进行有意义排列所得的组合。操作数可以是值、变量、标识符等。单独的一个值或一个变量也是一个表达式。表达式是Python程序中最常见的代码。表达式是一段可以被求值的代码。因为可以被求值,所以一般表达式可以写在赋值语句=的右边。表达式可以作为语句的组成部分。以下都是Python表达式: 5 + 3 3 …

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

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

    Python开发 2023年4月2日
    00
  • 数字(number)

    4.2 数字(number) Python中数字类型有4种: 整型(int) 布尔型(bool) 浮点数(float) 复数(complex) 4.2.1 整型(int) 形如:1、233、-6、69这样的数据都是整型。1、在Python3中只有一种整型int,表示长整型,没有Python2中的long。2、理论上Python3中的int类型可以表示无限大的…

    Python开发 2023年4月2日
    00
  • Python运算符

    3.3 Python运算符 运算符用于执行程序代码运算,根据操作数一般分为一元运算符、二元运算符。例如:2+3,其操作数是2和3,而运算符则是+。在Python中运算符可以分为以下几种类型:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。 3.3.1 算术运算符 +、-、*:分别对应数学中的加减乘,在此不做过多的赘述…

    Python开发 2023年4月2日
    00
  • 类方法和对象方法

    6.4 类方法和对象方法 方法的本质其实就是函数,在模块中定义就是函数,在类中定义就是类的方法。方法按照归属分类一般有3种:对象方法、类方法、静态方法。 6.4.1 对象方法 class Person: cls_attr = ‘我是类属性’ def __init__(self): self.obj_attr = ‘我是对象属性’ def eat(self):…

    Python开发 2023年3月31日
    00
  • 字符串(str、bytes)

    4.3 字符串(str、bytes) 4.3.1 字符串前置知识 4.3.1.1 字符串的概念 字符串由一系列字符组成,字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符串是编程语言中表示文本的数据类型。字符串就是由一个个元素(字符)组成的。像这种由一个个元素按照顺序组成的数据,在Python语言里面,把这种特…

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