python 数据类型超详细讲解

Python是一种高级编程语言,它提供了多种内置的数据类型来帮助开发者处理数据。这些数据类型可以分为几大类:数字、序列、集合和映射。下面我将详细讲解这些数据类型及其子类。

1. 数字(Numeric)

数字类型用于存储数值。Python支持多种数字类型,包括整数、浮点数、复数等。

1.1 整数(int)

整数是没有小数部分的数字。在Python 3中,整数的大小只受可用内存的限制。

python 复制代码
a = 10
b = -5
print(type(a), a)  # <class 'int'> 10
print(type(b), b)  # <class 'int'> -5
1.2 浮点数(float)

浮点数是小数点后有数字的数字,用于表示实数。

python 复制代码
c = 3.14
d = -0.001
print(type(c), c)  # <class 'float'> 3.14
print(type(d), d)  # <class 'float'> -0.001
1.3 复数(complex)

复数是包含实部和虚部的数字,用于表示数学中的复数。

python 复制代码
e = 1 + 2j
print(type(e), e)  # <class 'complex'> (1+2j)

2. 序列(Sequence)

序列类型用于存储一系列有序的元素。Python中的序列类型包括字符串、列表、元组和范围对象。

2.1 字符串(str)

字符串是由字符组成的序列,用于表示文本。字符串是不可变的,即一旦创建,内容不能改变。

python 复制代码
f = "Hello, World!"
print(type(f), f)  # <class 'str'> Hello, World!

字符串支持多种操作,如切片、拼接、查找等。

python 复制代码
g = f[0:5]  # 切片操作,取前5个字符
print(g)    # Hello

h = f + "!"  # 拼接操作
print(h)     # Hello, World!!
2.2 列表(list)

列表是由元素组成的可变序列。列表中的元素可以是任何数据类型,并且列表是可变的,即可以修改。

python 复制代码
i = [1, 2, 3, "four", 5.0]
print(type(i), i)  # <class 'list'> [1, 2, 3, 'four', 5.0]

# 修改列表中的元素
i[2] = "three"
print(i)  # [1, 2, 'three', 'four', 5.0]

列表支持多种操作,如添加、删除、排序等。

python 复制代码
i.append(6)  # 添加元素
print(i)     # [1, 2, 'three', 'four', 5.0, 6]

i.remove("four")  # 删除元素
print(i)          # [1, 2, 'three', 5.0, 6]
2.3 元组(tuple)

元组是由元素组成的不可变序列。元组中的元素可以是任何数据类型,但元组一旦创建,其内容不能改变。

python 复制代码
j = (1, 2, 3, "four")
print(type(j), j)  # <class 'tuple'> (1, 2, 3, 'four')

由于元组是不可变的,因此不支持修改操作,但支持切片、拼接等操作。

python 复制代码
k = j[0:2]  # 切片操作
print(k)    # (1, 2)
2.4 范围对象(range)

范围对象表示一个不可变的整数序列,通常用于循环中。

python 复制代码
l = range(5)
print(type(l), list(l))  # <class 'range'> [0, 1, 2, 3, 4]

范围对象可以通过startstopstep参数来创建。

python 复制代码
m = range(1, 10, 2)
print(list(m))  # [1, 3, 5, 7, 9]

3. 集合(Set)

集合是一个无序的、不包含重复元素的数据类型。集合中的元素必须是可哈希的(即不可变的)。

3.1 集合(set)
python 复制代码
n = {1, 2, 3, 2}  # 重复的元素会被自动去除
print(type(n), n)  # <class 'set'> {1, 2, 3}

集合支持多种操作,如并集、交集、差集等。

python 复制代码
o = {3, 4, 5}
p = n.union(o)  # 并集
print(p)        # {1, 2, 3, 4, 5}

q = n.intersection(o)  # 交集
print(q)             # {3}

r = n.difference(o)  # 差集
print(r)             # {1, 2}

4. 映射(Mapping)

映射类型用于存储键值对,其中每个键都是唯一的。Python中的映射类型主要是字典。

4.1 字典(dict)
python 复制代码
s = {"name": "Alice", "age": 25, "city": "New York"}
print(type(s), s)  # <class 'dict'> {'name': 'Alice', 'age': 25, 'city': 'New York'}

字典支持多种操作,如添加、删除、更新键值对等。

python 复制代码
s["email"] = "[email protected]"  # 添加键值对
print(s)  # {'name': 'Alice', 'age': 25, 'city': 'New York', 'email': '[email protected]'}

del s["city"]  # 删除键值对
print(s)       # {'name': 'Alice', 'age': 25, 'email': '[email protected]'}

s["age"] = 26  # 更新键值对
print(s)       # {'name': 'Alice', 'age': 26, 'email': '[email protected]'}

总结

Python提供了丰富的数据类型,使得开发者可以灵活地处理各种数据。了解这些数据类型及其特性是编写高效Python代码的基础。希望这篇详细的讲解能够帮助你更好地理解Python的数据类型。

相关推荐
2301_776681658 分钟前
【用「概率思维」重新理解生活】
开发语言·人工智能·自然语言处理
小彭律师25 分钟前
人脸识别门禁系统技术文档
python
熊大如如33 分钟前
Java 反射
java·开发语言
万能程序员-传康Kk1 小时前
旅游推荐数据分析可视化系统算法
算法·数据分析·旅游
ll7788111 小时前
C++学习之路,从0到精通的征途:继承
开发语言·数据结构·c++·学习·算法
我不想当小卡拉米1 小时前
【Linux】操作系统入门:冯诺依曼体系结构
linux·开发语言·网络·c++
teacher伟大光荣且正确1 小时前
Qt Creator 配置 Android 编译环境
android·开发语言·qt
炎芯随笔1 小时前
【C++】【设计模式】生产者-消费者模型
开发语言·c++·设计模式
乌鸦9442 小时前
《类和对象(下)》
开发语言·c++·类和对象+
炒空心菜菜2 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark