- Python程序设计与算法基础教程(第2版)(微课版)
- 江红 余青松
- 981字
- 2025-02-25 21:55:20
4.1 Python内置数据类型概述
在Python语言中一切皆为对象,而每个对象属于某个数据类型。Python的数据类型包括内置的数据类型、模块中定义的数据类型和用户自定义的类型。
通过字面量或调用对象的构造方法可以创建数据类型的实例对象,然后使用运算符、内置函数、系统函数和对象方法进行运算操作。
4.1.1 数值数据类型
Python包括4种内置的数值类型。
(1)整数类型(int):用于表示整数。例如,123、1024、-982。
(2)布尔类型(bool):用于表示布尔逻辑值。例如,True、False。
(3)浮点类型(float):用于表示实数。例如,3.14、-1.23、1.1E10、-3e-4。
(4)复数类型(complex):用于表示复数。例如,3+4j、-2-4j、1.2+3.4j。
数值可以使用运算符(四则运算+、-、*、/以及幂运算**等)、内置函数(abs()、round()等)、math/cmath模块中的数学函数、int/float/complex/bool类的方法。
4.1.2 序列数据类型
序列数据类型表示若干有序数据。Python序列数据类型分为不可变序列数据类型和可变序列数据类型。
不可变序列数据类型包括以下3种。
(1)字符串(str):表示Unicode字符序列。例如,"hello"。
(2)元组类型(tuple):表示任意类型数据的序列。例如,(1,2,3),(1,"2")。
(3)字节序列(bytes):表示字节(8位)序列数据。例如,b'abc'。
可变序列数据类型包括以下两种。
(1)列表类型(list):表示可以修改的任意类型数据的序列。例如,[1,"two"]。
(2)字节数组(bytearray):表示可以修改的字节(8位)数组。
4.1.3 集合数据类型
集合数据类型表示若干数据的集合,数据项目没有顺序,且不重复。Python集合数据类型包括以下两种。
(1)集(set):可变对象。例如,{1,2,3}。
(2)不可变集(frozenset):不可变对象。例如:

4.1.4 字典数据类型
字典数据类型用于表示键/值对的字典。Python内置的字典数据类型为dict。例如,{1:"one",2:"two"}。
4.1.5 NoneType、NotImplementedType和EllipsisType
Python包含3种特殊的数据类型,即NoneType、NotImplementedType和EllipsisType。
1. NoneType
NoneType数据类型包含唯一值None,主要用于表示空值,如没有返回值的函数的结果。例如:

2. NotImplementedType
NotImplementedType数据类型包含唯一值NotImplemented。在进行数值运算和比较运算时,如果对象不支持,则可能返回该值。例如:

3. EllipsisType
EllipsisType数据类型包含唯一值Ellipsis,表示省略字符串符号“…”。例如:

4.1.6 其他数据类型
Python中的一切对象都有一个数据类型,模块、类、对象、函数都属于某种数据类型。
Python解释器包含内置类型,例如代码对象(Code objects)、框架对象(Frame objects)、跟踪对象(Traceback objects)、切片对象(Slice objects)、静态方法对象(Static method objects)、类方法对象(Class method objects)。这部分涉及Python语言本身的构造。