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的数据类型。

相关推荐
梧桐树042934 分钟前
python常用内建模块:collections
python
Dream_Snowar42 分钟前
速通Python 第三节
开发语言·python
高山我梦口香糖2 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣2 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客2 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
蓝天星空2 小时前
Python调用open ai接口
人工智能·python
jasmine s2 小时前
Pandas
开发语言·python
郭wes代码2 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf2 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
biomooc2 小时前
R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
开发语言·r语言