Python基本数据类型与常用方法详解
文章目录
Python 中的数据类型分为
不可变类型(如
int, float, str, tuple)和
可变类型(如
list, dict, set)。以下是每种类型的核心方法及示例说明:
一、字符串(str)
不可变类型,表示字符序列。
常用方法:
| 方法 | 作用 | 示例 |
|---|---|---|
| split(sep) | 按分隔符分割字符串 | “a,b,c”.split(“,”) → [“a”, “b”, “c”] |
| join(iterable) | 将可迭代对象用字符串连接 | “,”.join([“a”, “b”]) → “a,b” |
| upper()/lower() | 转为大写/小写 | “Hello”.upper() → “HELLO” |
| strip() | 去除首尾空格或指定字符 | " abc ".strip() → “abc” |
| replace(old, new) | 替换子字符串 | “hello”.replace(“h”, “H”) → “Hello” |
| startswith(prefix) | 检查是否以指定前缀开头 | “python”.startswith(“py”) → True |
| find(sub) | 查找子字符串首次出现的位置(未找到返回-1) | “python”.find(“th”) → 2 |
二、列表(list)
可变类型,表示有序元素集合。
常用方法:
| 方法 | 作用 | 示例 |
|---|---|---|
| append(x) | 在末尾添加元素 | lst = [1,2]; lst.append(3) → [1,2,3] |
| extend(iterable) | 合并另一个可迭代对象 | lst = [1]; lst.extend([2,3]) → [1,2,3] |
| insert(i, x) | 在指定索引位置插入元素 | lst = [1,3]; lst.insert(1,2) → [1,2,3] |
| remove(x) | 删除第一个匹配的元素 | lst = [1,2,2]; lst.remove(2) → [1,2] |
| pop([i]) | 删除并返回指定位置的元素(默认最后一个) | lst = [1,2,3]; lst.pop(0) → 1(列表变为 [2,3]) |
| sort() | 原地排序 | lst = [3,1,2]; lst.sort() → [1,2,3] |
| reverse() | 原地反转列表 | lst = [1,2,3]; lst.reverse() → [3,2,1] |
| index(x) | 返回元素首次出现的索引 | lst = [10, 20, 30]; lst.index(20) → 1 |
三、字典(dict)
可变类型,表示键值对集合。
常用方法:
| 方法 | 作用 | 示例 |
|---|---|---|
| keys() | 返回所有键的视图 | d = {“a”:1, “b”:2}; d.keys() → dict_keys([“a”, “b”]) |
| values() | 返回所有值的视图 | d.values() → dict_values([1, 2]) |
| items() | 返回所有键值对的视图 | d.items() → dict_items([(“a”, 1), (“b”, 2)]) |
| get(key, default) | 安全获取键对应的值(无则返回默认值) | d.get(“c”, 0) → 0 |
| pop(key) | 删除键并返回对应的值 | d.pop(“a”) → 1(字典变为 {“b”: 2}) |
| update(new_dict) | 合并另一个字典 | d = {“a”:1}; d.update({“b”:2}) → {“a”:1, “b”:2} |
| setdefault(key, val) | 若键不存在则设置默认值并返回 | d.setdefault(“c”, 3) → 3(字典变为 {“a”:1, “b”:2, “c”:3}) |
四、集合(set)
可变类型,表示无序唯一元素集合。
常用方法:
| 方法 | 作用 | 示例 |
|---|---|---|
| add(x) | 添加元素 | s = {1,2}; s.add(3) → {1,2,3} |
| remove(x) | 删除元素(元素不存在则报错) | s.remove(2) → {1,3} |
| discard(x) | 删除元素(元素不存在不报错) | s.discard(4) → 无变化 |
| union(s2) | 返回并集(等价于 ) |
{1,2}.union({2,3}) → {1,2,3} |
| intersection(s2) | 返回交集(等价于 &) | {1,2}.intersection({2,3}) → {2} |
| difference(s2) | 返回差集(等价于 -) | {1,2}.difference({2}) → {1} |
五、元组(tuple)
不可变类型,表示有序元素集合。
常用方法:
| 方法 | 作用 | 示例 |
|---|---|---|
| count(x) | 统计元素出现次数 | (1,2,2,3).count(2) → 2 |
| index(x) | 返回元素首次出现的索引 | (10, 20, 30).index(20) → 1 |
六、整数(int)和浮点数(float)
不可变类型,无常用方法,但支持算术运算和类型转换:
python
# 类型转换
int("10") → 10
float("3.14") → 3.14
# 数值运算
abs(-5) → 5
round(3.1415, 2) → 3.14
七、布尔(bool)
不可变类型,只有 True 和 False,无特有方法。
八、NoneType
表示空值,唯一实例是 None,无方法。
总结
不可变类型(如 str, tuple):方法返回新对象,原对象不变。
可变类型(如 list, dict):方法直接修改原对象。
根据场景选择合适的数据类型和方法,可显著提升代码效率和可读性。
作者:仰望星空的小随