Python 完整数据类型详解

Python数据类型分为两大类:基础标量类型(单个值)、序列/容器类型(存放多个数据),还有特殊类型。

一、基础内置数据类型

1. 整数 int

  • 含义:正负整数,无小数点,支持十进制、二进制、八进制、十六进制
a = 666     # 十进制
b = -100
c = 0b101   # 二进制 5
d = 0o12    # 八进制 10
e = 0xff    # 十六进制 255
  • 特点:Python3整数无长度上限,不用担心溢出。

2. 浮点数 float

  • 含义:带小数的数字,支持科学计数法
x = 3.14
y = -0.5
z = 1.2e3   # 1200.0
  • 注意:浮点运算存在精度误差,0.1 + 0.2 != 0.3,金额计算用decimal

3. 布尔类型 bool

只有两个值:TrueFalse(首字母必须大写)
本质是特殊整数:True=1False=0

print(3 > 1)   # True
print(10 < 2)  # False

所有空/零值都会判定为假:0、0.0、""、[]、{}、None

4. 字符串 str

  • 定义:文本内容,单引号' '、双引号" "、三引号"""..."""
s1 = "hello"
s2 = 'Python'
# 多行文本
s3 = """第一行
第二行"""
  • 常用操作:拼接+、重复*、切片取值、len()求长度
print("ab" + "c")  # abc
print("hi" * 3)    # hihihi
print(s1[0])       # h
  • 转义字符:\n换行、\t制表符、\"显示引号;原始字符串r"路径"取消转义。

5. 空值 NoneType

唯一值:None,代表不存在、空、无结果

res = None
print(type(res))  # <class 'NoneType'>

0、""、False完全不相等,用于变量初始化、函数无返回值。

6. 复数 complex(理工科专用)

格式 实部 + 虚部j

c = 3 + 4j
print(c.real)  # 实部 3
print(c.imag)  # 虚部 4

二、容器/序列类型(存储一组数据)

1. 列表 list 【】

  • 特征:有序、可增删改、允许重复元素、支持不同类型混合存储
lst = [10, "苹果", True, 3.14]
lst.append(66)   # 末尾添加
lst[0] = 99      # 修改元素
del lst[1]       # 删除

2. 元组 tuple ()

  • 特征:有序、不可修改(只读)、元素可重复
    适合存放不希望被改动的数据,坐标、配置参数
t = (1, 2, 3)
# 单元素元组必须加逗号
t2 = (5,)

不能增删改元素,但内部如果是列表,列表内容可改。

3. 字典 dict {key:value}

  • 特征:键值对存储,无序(3.7后插入有序),key不可重复、必须不可变类型(int/str/tuple)
    用于存储一一对应关系:姓名-年龄、商品-价格
info = {"name":"小明", "age":18}
print(info["name"])   # 取值
info["age"] = 19      # 修改
info["sex"] = "男"    # 新增键值对

4. 集合 set {}

  • 特征:无序、自动去重、无索引、元素不可重复
    用于去重、交集、并集、差集运算
s = {1,2,2,3}
print(s)  # {1,2,3} 自动去重
# 空集合必须用 set(),{}是空字典
empty_set = set()

三、其他特殊类型

  1. bytes 字节:二进制数据,文件、网络传输使用
    b'abc'
  2. bytearray:可变字节数组
  3. range:整数序列,for循环专用,不占用大量内存
    range(1,10) 生成1~9数字

四、常用内置操作

  1. 查询类型 type(数据)
print(type(123))  # int
  1. 类型转换
int("66")
str(99)
list((1,2,3))
  1. 判断是否属于该类型 isinstance()
isinstance(5, int)  # True

五、快速区分记忆

  1. 单个数据:int float bool str None complex
  2. 有序可修改:list
  3. 有序不可改:tuple
  4. 键值查询:dict
  5. 去重集合:set

更多推荐