Python中内置的数据结构都有什么?

发布网友 发布时间:2022-04-21 05:49

我来回答

3个回答

热心网友 时间:2022-06-18 07:56

Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。

其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。

1、数字

数字类型是不可更改的对象。对变量改变数字值就是生成/创建新的对象。Python支持多种数字类型:

整型(标准整型和长整型(Python2.7及之前的有这种类型))、布尔型、双精度浮点型、十进制浮点型、复数。

2、标准整型

int,标准整型,在大多数32位机器上标准整型取值范围是-2^31到2^31-1,也就是-21474838~21474837,如果在位机器使用位编译器,那么这个系统的标准整型将是位。

3、布尔型

bool,从Python2.3开始Python中添加了布尔类型。布尔类型有两种True和False。对于没有__nozero__方法的对象默认是True。

对于值为0的数字、空集(空列表、空元组、空字典等)在Python中的布尔类型中都是False。

>>> bool(1)
True
>>> bool('a')
True
>>> bool(0)
False
>>> bool('')
False

4、浮点型

float,每个浮点型占8个字节(位),完全遵守IEEE754号规范(52M/11E/1S),其中52个位用于表示底,11个位用于表示指数(可表示的范围大约是±10**308.25),剩下的一个位表示符号。这看上去相当完美,然而,实际精度依赖于机器架构和创建Python解释器的编译器。

浮点型值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)。

以上是Python核心编程的对浮点型(双精度浮点型)的说明。经过Python实测浮点型默认长度是24字节如果超出这个范围会自动

5、复数类型

complex,在复数中虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数。复数由实数部分和虚数部分构成。表示虚数的语法:real+imagj。

实数部分和虚数部分都是浮点型。虚数部分必须有后缀j或J。

热心网友 时间:2022-06-18 07:56

热心网友 时间:2022-06-18 07:56

1. 数字类型

Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。

int(整型)

在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-21474838~2147483;在位系统上,整数的位数为位,取值范围为-263~263-1,即9223372036854775808~9223372036854775807。

long(长整型)

Python长整型没有指定位宽,但是由于机器内存有限,使用长的长整数数值也不可能无限大。

float(浮点型)

浮点型也就是带有小数点的数,其精度和机器有关。

complex(复数)

Python还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b
都是浮点型。

2. 字符串

在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。

3. 布尔型

和其他编程语言一样,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。

4. 列表

列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。

5. 元组

元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。

6. 字典

字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

7. 集合

集合是一个无序的、不重复的数据组合,它的主要作用有两个,分别是去重和关系测试。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com