精通Python数据类型:实战指南
Python数据类型
本指南带你走进Python核心数据类型,演示其工作原理及相互转换。
Python中的数据类型
Python中每个值都是对象,每个对象是定义其类型的类的实例。理解这些类型对编写清晰、高效、可靠代码至关重要。
下文覆盖最常用类型:数字、列表、元组、字符串、集合、字典。
Python数字
Python数值类型含 int、float、complex。用 type() 查看值的类,isinstance() 测试类层级成员资格。
a = 5
print(a, "is of type", type(a))
a = 2.0
print(a, "is of type", type(a))
a = 1+2j
print(a, "is complex number?", isinstance(1+2j, complex))
输出
5 is of type <class 'int'> 2.0 is of type <class 'float'> (1+2j) is complex number? True
整数仅受可用内存限制可任意大。浮点数精度约15位;如 1 是整数而 1.0 是浮点数。
复数形式 x + yj,x 实部,y 虚部。样例值:
>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)
浮点数 b 因精度限制被截断。
Python列表
列表是有序、可变序列,可含任意类型元素。方括号声明,逗号分隔:
a = [1, 2.2, 'python']
切片获取子列表。索引从零开始:
a = [5,10,15,20,25,30,35,40]
print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])
print("a[5:] = ", a[5:])
输出
a[2] = 15 a[0:3] = [5, 10, 15] a[5:] = [30, 35, 40]
列表可变;元素可重新赋值:
a = [1, 2, 3]
a[2] = 4
print(a)
输出
[1, 2, 4]
Python元组
元组有序但不可变。常用于保护数据,因大小固定比列表略快。圆括号定义:
t = (5,'program', 1+3j)
切片可用,重新赋值报错:
t = (5,'program', 1+3j)
print("t[1] = ", t[1])
print("t[0:3] = ", t[0:3])
# t[0] = 10
# would raise TypeError
输出
t[1] = program t[0:3] = (5, 'program', (1+3j))
Python字符串
字符串是不可变Unicode字符序列。单/双引号均可;三引号允许多行字面量。
s = "This is a string"
print(s)
s = '''A multiline string'''
print(s)
输出
This is a string A multiline string
切片可用,修改字符报错:
s = 'Hello world!'
print("s[4] = ", s[4])
print("s[6:11] = ", s[6:11])
# s[5] = 'd'
# would raise TypeError
输出
s[4] = o s[6:11] = world
Python集合
集合是无序唯一项集合,花括号定义。自动去重,支持并集、交集等集合运算。
a = {5,2,3,1,4}
print("a = ", a)
print(type(a))
输出
a = {1, 2, 3, 4, 5}
<class 'set'>
自动去重:
a = {1,2,2,3,3,3}
print(a)
输出
{1, 2, 3}
因无序,不支持索引和切片。
Python字典
字典存键值对,按键查找高度优化。键值可为任意可哈希类型。
d = {1:'value','key':2}
print(type(d))
print("d[1] = ", d[1])
print("d['key'] = ", d['key'])
# print("d[2] = ", d[2]) # would raise KeyError
输出
<class 'dict'> d[1] = value d['key'] = 2
数据类型转换
Python提供内置构造器转换类型:int()、float()、str() 等。浮点转整数向零截断。
float(5) # 5.0
int(10.6) # 10
int(-10.6) # -10
字符串转换需兼容表示:
float('2.5') # 2.5
str(25) # '25'
# int('1p') # ValueError
序列间可互转:
set([1,2,3]) # {1, 2, 3}
tuple({5,6,7}) # (5, 6, 7)
list('hello') # ['h', 'e', 'l', 'l', 'o']
从键值对可迭代对象创建字典:
dict([[1,2],[3,4]]) # {1: 2, 3: 4}
dict([(3,26),(4,44)]) # {3: 26, 4: 44}
Python
- 五大数据中心模型详解:设计架构、适用场景与典型案例
- 2021年云计算八大核心模型全解析:服务模式与部署模式
- 8大常见数据泄露类型实战剖析:真实案例、影响深度与防御启示
- 精通C#变量与基础数据类型:完整指南
- 深入理解 C++ 数据类型:基础类型、修饰符与最佳实践
- C 语言数据类型详解:int、float、char 等核心类型完全指南
- C 语言数据类型完全指南:整型、浮点型、void 与派生类型
- C# 数据类型权威指南:值类型、引用类型、指针类型与 sizeof 实战
- MATLAB 数据类型完全指南:15 种基本类型、转换函数与类型判断函数速查表
- 精通Python类型转换与强制转换:综合指南
- 精通Python运算符:全面指南
- 精通Python Pass语句:实战指南