type
status
date
slug
summary
tags
category
icon
password

Python 基础变量类型概述

字符串(str

Python 中的 str 类型是文本序列的一种,代表一串 Unicode 代码点的不可变序列。所有基于位置的访问(如索引、切片)以及字符串方法(如 .upper().replace())都不改变原字符串,而是返回新的字符串实例。
str官方文档

数字类型(intfloatcomplex

Python 提供三种内建的数字类型:整数(int)、浮点数(float)及复数(complex),其中布尔值(bool)是 int 的子类型。整数具有无限精度;浮点数通常对应 C 语言的 double;复数由实部和虚部构成,两者均为浮点数。常用算术运算符包括 +-*///% 及幂运算 ** 等。
数字类型官方文档

可变类型和不可变类型

1. 不可变类型(immutable types)

  • 数值类型intfloatcomplex(整数、浮点数、复数)
  • 字符串str
  • 元组tuple
  • 冻结集合frozenset(不可变的 set)
  • 布尔类型bool
  • 字节序列bytes
特点:内容不能被原地修改,每次改变都会生成新对象。
例子

2. 可变类型(mutable types)

  • 列表list
  • 字典dict
  • 集合set
  • 字节数组bytearray
特点:内容可以被原地修改(增删改元素等操作)。
例子

3. 常用类型一览表

类型
可变性
int
不可变
float
不可变
bool
不可变
str
不可变
tuple
不可变
frozenset
不可变
bytes
不可变
list
可变
dict
可变
set
可变
bytearray
可变

4.类型判断:isinstance

判断某个变量是否为某类型,推荐用 isinstance()(比 type() 更灵活、支持继承判断):

可变序列 List 的操作

Python 的列表(list)是有序且可变的序列类型,允许存放任意类型的元素,并可包含重复值。
运算
返回值 / 结果
备注
x in s
True / False
成员检测:判断元素 x 是否存在于列表 s 中。
x not in s
True / False
非成员检测:判断元素 x 是否不在列表中。
s + t
新列表
连接:将列表 st 拼接,返回一个新列表。
s * n / n * s
新列表
重复:将列表 s 的内容重复 n 次,返回一个新列表。
s[i]
元素
索引访问:按位置获取元素 s[i],支持负索引。
s[i:j]
子列表
切片:截取区间 [i, j) 内的元素,返回一个新列表。
s[i:j:k]
子列表
扩展切片:以步长 kij-1 提取元素,返回一个新列表。
len(s)
整数
长度:返回列表中元素的个数。
min(s) / max(s)
元素
极值:返回列表中最小或最大元素。
s[i] = x
None
就地赋值:将索引 i 处的元素替换为 x
s[i:j] = t
None
切片赋值:将 [i, j) 区间替换为可迭代对象 t 的内容。
s[i:j:k] = t
None
扩展切片赋值:将 s[i:j:k] 对应元素替换为 t 中的元素。
del s[i]
None
删除:移除索引 i 处的元素。
del s[i:j]
None
删除切片:移除 [i, j) 区间内的所有元素。
del s[i:j:k]
None
删除扩展切片:移除 s[i:j:k] 对应的所有元素。
s.append(x)
None
尾部添加:在列表末尾追加元素 x(等同于 s[len(s):] = [x])。
s.clear()
None
清空:移除列表中所有元素(等同于 del s[:])。
s.copy()
新列表
浅拷贝:返回列表的一个浅拷贝(等同于 s[:])。
s.count(x)
整数
计数:返回元素 x 在列表中出现的次数。
s.extend(t) / s += t
None
扩展:在列表末尾一次性追加可迭代对象 t 的所有元素。
s.index(x)
整数
定位:返回元素 x 在列表中首次出现的索引(可选 start/end 参数限制查找范围)。
s.insert(i, x)
None
插入:在索引 i 处插入元素 x(等同于 s[i:i] = [x])。
s.pop() / s.pop(i)
元素
弹出:移除并返回索引 i 处的元素,若不指定 i 则移除并返回最后一个元素。
s.remove(x)
None
删除:移除列表中第一个值等于 x 的元素,若不存在则抛出 ValueError
s.reverse()
None
就地反转:将列表中元素的顺序原地反转。
s.sort(key=None, reverse=False)
None
原地排序:使用可选的 key 函数和 reverse 标志对列表进行排序。
list(iterable)
新列表
构造:将可迭代对象转换为列表。

1.增

  • append()—在末尾添加一个元素
  • extend()—在末尾添加多个元素
  • insert()—在指定位置插入一个元素

2.删

  • pop()—删除并返回指定位置元素(无参数就默认最后一个)
  • remove()—删除某个值(第一个遇到的)
  • del—按下标删除
  • clear()—清空列表

3.查

  • 直接通过下标访问
  • index()—查找某一值的下标(找不到就报错)
  • in—判断是否存在

4.改

  • 直接通过下标赋值
  • 切片修改

汇总

不可变序列 Tuple 的操作

元组(tuple)是有序且不可变的序列类型,常用于存放固定集合的数据(如函数多值返回、记录数据等)。一旦创建,元组内的元素不可被修改或删除
运算式
结果
描述
x in s
True / False
成员检测:判断元素 x 是否存在于元组 s 中。
x not in s
True / False
非成员检测:判断元素 x 是否不在元组中。
s + t
(...)
序列连接:将元组 st 合并为新元组。
s * n / n * s
(...重复 n 次...)
重复:将元组内容重复 n 次,生成新元组。
s[i]
元组中索引 i 对应的元素
索引访问:按位置获取元素,支持负索引。
s[i:j]
子元组 (s[i],…,s[j-1])
切片:截取位置区间 [i, j) 的子序列。
s[i:j:k]
带步长 k 的子元组
扩展切片:以步长 k 提取元素。
len(s)
整数
长度:返回元组中元素的数量。
min(s) / max(s)
元组中的最小 / 最大值
统计:返回元组中的最小或最大元素。
s.index(x)
整数
定位:返回 x 在元组中首次出现的索引。
s.count(x)
整数
计数:返回 x 在元组中出现的次数。

1. 索引与访问


2. 通用序列操作

长度
成员测试

3. 计数与索引

4. 连接与重复

映射类型dict的操作

1.增

  • 新增建值对

2.删

  • pop()—删除键并返回值
  • del—删除键
  • clear()—清空字典

3.查

  • 直接查找(键不存在会报错)
  • get()—安全查找(不存在返回None或你指定的值)

4.改

  • 直接修改已有键值

5.其他常用操作

  • keys()—输出所有键
  • values()—输出所有值
  • items()—输出所有对应的键和值

集合类型set的操作

1. 增

  • add() — 增加一个元素
  • update() — 增加多个元素

2. 删

  • remove() — 删除指定元素(不存在会报错)
  • discard() — 删除指定元素(不存在不会报错)
  • pop() — 随机删除并返回一个元素
  • clear() — 清空集合

3. 查

  • 成员测试 in — 判断元素是否存在

4. 改

集合本身没有直接修改某个元素的操作,只能通过“先删后加”间接实现。
如果想把2改成20,可以:

5. 其它常用操作

  • 去重
  • 交集、并集、差集
 
Conda 环境配置及 IDE 开发环境搭建2.Python-复合类型之序列类型、映射类型和集合类型总结
Loading...