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"] = "alice@example.com"  # 添加键值对
print(s)  # {'name': 'Alice', 'age': 25, 'city': 'New York', 'email': 'alice@example.com'}

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

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

总结

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

相关推荐
明月_清风10 分钟前
FastAPI 从入门到实战:3 分钟构建高性能异步 API
后端·python·fastapi
笨拙的老猴子15 分钟前
[特殊字符] Java GC机制详解:G1、ZGC、Shenandoah全面解析与版本演进对比
java·开发语言
bellus-16 分钟前
ubuntu26测试win10的ollama大模型性能
python
水木流年追梦18 分钟前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
JavaWeb学起来18 分钟前
Python学习教程(六)数据结构List(列表)
数据结构·python·python基础·python教程
liuyunshengsir31 分钟前
PyTorch 动态量化(Dynamic Quantization)
人工智能·pytorch·python
电子云与长程纠缠40 分钟前
UE5制作六边形包裹球体效果
开发语言·python·ue5
砍材农夫1 小时前
物联网 基于netty构建mqtt协议规范(遗嘱与保留消息)
java·开发语言·物联网·netty
DFT计算杂谈1 小时前
KPROJ编译教程
java·前端·python·算法·conda
froginwe111 小时前
Python3 迭代器与生成器
开发语言