一文看懂 Python 所有数据类型(建议收藏)

发布时间:2026/9/15 7:38:02
一文看懂 Python 所有数据类型(建议收藏) 程序构建的基石是数据类型, 编写简单脚本也好, 开发复杂大型项目也罢, 对于数据类型的理解以及运用都是极其关键重要的。今日, 我们要全方位对比领略其中的每种数据类型, 从而使你能从宏观层面了解它们。一、开始之前说两句这是一种动态类型语言, 表示声明变量之际不需明确指定数据类型, 其将在运行之时依据赋值自行确定变量类型。该语言的数据的类型主要能够划分成以下几大类别: 不可变数据类型连同一个可变数据类型, 除此之外还有一些别出心裁的数据类型。接下来, 我们会逐一详尽解析。二、不可变数据类型数据类型中, 存在着一种所谓不能改变的, 它是指一旦被创建起来, 那么它的值就再也没办法被修改的数据类型。要是针对这种不可变的数据类型去实施修改的操作, 实际上的情况会是创建出一个全新的对象。1. 数字数值是之中极为基础的数据类别一种, 用以展现数值, 它支撑着四种不一样的数字种类:类型描述示例整数int没有小数部分的数字可以是正数、负数或零支持无限精度10, -5, 0浮点数float带有小数部分的数字也可以用科学计数法表示3.14, 2.5e3即 2500复数由实数部分与虚数部分共同所组成, 呈现出来的形式是 a bj, 这里面 a 乃浮点数, b 同样是浮点数, 而 j 为虚数单位。3 4j, -2.5j布尔bool它用来表示逻辑值, 存在的逻辑值仅有True和False这两个, 其本质属于整数的子类, 其中True所对应的数值等于1, False所对应的数值等于0。True, False有着常见操作的数字, 涵盖算术运算, 像加、减、乘、除、取模、幂运算等, 还包括类型转换。例如, 能够用 int () 函数去把浮点数转变成整数, 借助 float () 函数将整数转化为浮点数。2. 字符串由一系列字符所构成的序列之物是字符串, 其被单引号、双引号或者三引号给括起来, 三引号一般是用来表示多行字符串的。操作描述示例索引通过下标访问字符串中的单个字符索引从 0 开始s hello; s - h切片获取字符串的子序列格式为 sstart:end:stepstart, 其默认值是0, end, 它的默认值为字符串的长度, step, 默认设定为1。s - el拼接使用 运算符将两个或多个字符串连接起来hello world - 重复使用 * 运算符重复字符串指定次数hi * 3 - 常用函数len( )这个操作是用来获取字符串长度的, upper( )此项功能是将字符串给转换为大写的, lower( )它的作用是把字符串转换为小写的, split( )此方法是按照指定分隔符去分割字符串的等等。len(hello) - 5字符串具备不可变的特性, 一旦针对字符串开展修改操作, 就会返回一个全新的字符串对象。3. 元组Tuple存在一个呈有序状态放置的, 具备不可变特性的序列, 它被称作元组。其外部由圆括号进行括起, 且内部元素之间借助逗号来予以分隔。特点描述示例有序性元组中的元素按照插入顺序排列可以通过索引访问t (1, 2, 3); t - 2不可变性元组创建后不能修改元素的值也不能添加或删除元素尝试 t 5 会报错可包含不同类型元素元组中的元素可以是不同的数据类型(1, hello, True)索引、切片、拼接、重复等这些是元组通常会有的操作, 这和字符串是相似的。因为元组具有不可变性这个特性, 所以在那种要保证数据不会被改动的情境里元组可是相当有用的, 比如用于当作字典的键的情况。三、可变数据类型可变数据类型, 是那种在被创建之后, 能够对其值予以修改的数据类型, 而这种修改操作, 会直接对原对象产生影响。1. 列表List列表是一种序列, 它是有序的, 它是可变的, 是以方括号括起来的, 其元素之间是用逗号分隔的, 它是其中最常用的数据结构当中的一个, 它是非常灵活的。操作描述示例索引通过下标访问列表中的单个元素索引从 0 开始lst ; lst - 1切片获取列表的子序列格式与字符串相同lst -增删改增添元素于列表末尾之处, 于指定位置那儿插入元素, 运用del去删除指定处位置的元素, 利用pop()来删除且返回指定位置之上的元素, 凭借值来删除元素。lst.(4); lst -1, 2, 3, 4其他操作用来对列表进行排序的是sort () , 用来反转列表的是 () , 用来获取列表长度的是len () 等。lst.sort (); 列表按升序排列列表可以包含任意类型的元素包括其他列表实现嵌套列表。2. 字典字典由花括号括起来, 是一种无序的、键值对key-value数据结构, 其中键和值之间用冒号分隔, 键必须是像字符串、数字、元组等那样的唯一的、不可变的数据类型, 而值可以是任意数据类型。操作描述示例创建直接使用花括号创建或使用 dict () 函数访问通过对键进行访问从而获取值, 要是键不存在的话就会出现报错的情况, 还能够运用get()方法, 当不存在的时候返回默认的值。存在这样一种情况, dic被设定为指向Tom , 而通过dic.get (未知)取得的值是未知。增删改添加新键值对dic修改值, 将其变为空字符串, 修改的值, dic被设定为Jerry,再者, 删除键值对, 执行del dic操作。常用函数keys(), 用以获取所有键, (), 用来获取所有值, items(), 借此获取所有键值对, len(), 通过它获取字典长度。dic.keys() - (name, age一种数据结构, 其为字典是非常高效的, 适合用于存储键值对数据, 用于快速查找, 是这样的。3. 集合Set无序的、不重复的元素序列被称作集合, 其元素用花括号括起来, 元素之间需要用逗号进行分隔, 并且集合里的元素必须是不可变的数据类型。特点描述示例无序性集合中的元素没有固定的顺序唯一性集合中的元素不能重复自动去重集合s被定义为包含元素1、2、2、3, 之后集合s转变为包含元素1、2、3。可变性可以添加或删除元素s.add(4); s.(2)集合运算并集、交集、差集-、对称差集^等集合常用于数据去重和集合运算。四、特殊数据类型1. NoneNone属于一种特殊的数据类型, 此类型存在于相关范畴之中, 它所表达的是空值或者不存在的值, 它仅仅持有一个实例, 该实例就是None自身, None常常被运用来表明一个变量尚未进行赋值, 又或者是一个函数不存在返回值。2. 字节和字节数组Bytes and 字节, 也就是 bytes, 它属于那种不可变的序列, 其用来把二进制数据给表示出来, 并且每一个元素都是处于 0 到 255 这个范围之间的整数。字节数组, 它是这样的形式, 属于可变的序列, 跟字节类似, 不过它能够对其中的元素作出修改。类型描述示例bytes不可变的二进制序列用 b 前缀和单引号或双引号括起来b bhello可变的二进制序列通过 () 函数创建ba (bhello)主要用于处理二进制数据比如文件读写、网络通信等的是字节以及字节数组。五、数据类型之间的转换于其中, 常常得开展数据类型互相的转换, 下面是一些常见的数据转换函数:函数描述示例int()若要把其他类型转变成整数, 在进行浮点数转换这个操作的时候, 会朝着小的整数方向去取整, 而字符串必须是依照整数形式来呈现的。int(3.6) - 3; int(5) - 5float()往浮点数进行其他类型的转换, 整数转换之际会添加小数部分.0, 字符串得是数字形式才行。将float(5)转变为5.0, 把float(3.14)转换成3.14。str()将其他类型转换为字符串str(10) - 10; str() - list()将其他可迭代对象转换为列表list((1, 2, 3)) -tuple()将其他可迭代对象转换为元组tuple() - (1, 2, 3)dict()将包含键值对的可迭代对象转换为字典dict((name, Tom), (age, 20)你提供的内容并不是一个句子呀, 请提供正确的句子以便我按照要求进行改写。set()将其他可迭代对象转换为集合set(1, 2, 2, 3) - {1, 2, 3}所涉及的数据类型, 丰富且呈现出多样的态势, 每一种数据类型, 都有着其自身独特的特点, 以及适用的场景。不可变的数据类型, 确保了数据具备稳定性, 适宜于那些需要保持数据不被更改的场景当中来运用。提供灵活数据操作能力的可变数据类型, 方便在程序运行进程里动态去修改数据。像 None 这种特殊数据类型, 还有字节, 以及字节数组等, 在特定的编程场景当中, 也起着重要的作用。若于学习进程里碰到任何疑难状况, 又或者存有别的想要知悉的知识内容, 欢迎于评论区域留下话语我们一同展开交流切磋