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

相关推荐
小雅痞3 分钟前
[Java][Leetcode simple] 28. 找出字符串中第一个匹配项的下标
java·开发语言·leetcode
likerhood8 分钟前
java中的不可变类(Immutable)
java·开发语言
步辞13 分钟前
Go语言怎么用channel做信号通知_Go语言channel信号模式教程【完整】
jvm·数据库·python
Ulyanov13 分钟前
《PySide6 GUI开发指南:QML核心与实践》 第一篇:GUI新纪元——QML与PySide6生态系统全景
开发语言·python·qt·qml·雷达电子对抗
曲幽20 分钟前
FastAPI + SQLAlchemy 2.0 通用CRUD操作手册 —— 从同步到异步,一次讲透
python·fastapi·web·async·sqlalchemy·session·crud·sync·with
Dxy123931021629 分钟前
Python 如何使用 XPath 定位元素:从入门到实战
python
用户83562907805132 分钟前
Python 设置 PowerPoint 文档属性与页面参数
后端·python
Rust研习社44 分钟前
从入门到实践:Rust 异步编程完全指南
开发语言·后端·rust
weixin_424999361 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
yaoxin5211231 小时前
389. Java IO API - 获取文件名
java·开发语言·python