Python常用函数全面解析与详解

Python 常用函数详解

Python 提供了丰富的内置函数和标准库函数,涵盖数据操作、文件处理、系统交互等多个领域。以下从 基础内置函数数据结构方法常用模块函数 三个维度进行系统梳理,并结合实际开发经验给出最佳实践。


一、基础内置函数
1. 数学运算
函数 描述 示例
abs(x) 返回绝对值 abs(-5) → 5
round(n, d) 四舍五入到小数点后d位 round(3.1415, 2) → 3.14
pow(x, y) 计算x的y次幂(等价于x ** y pow(2, 3) → 8
sum(iter) 对可迭代对象求和 sum([1,2,3]) → 6
max(iter) 返回最大值 max([3,1,4]) → 4
min(iter) 返回最小值 min("apple") → 'a'(按ASCII值)

2. 类型转换
函数 描述 示例
int(x) 转换为整数 int("10") → 10
float(x) 转换为浮点数 float(3) → 3.0
str(x) 转换为字符串 str(True) → 'True'
list(iter) 转换为列表 list("abc") → ['a','b','c']
dict(iter) 创建字典 dict([("a",1), ("b",2)]) → {'a':1, 'b':2}
set(iter) 转换为集合(去重) set([1,1,2]) → {1,2}

3. 迭代与序列处理
函数 描述 示例
len(obj) 返回对象长度 len("hello") → 5
range(start, end, step) 生成整数序列 list(range(1,5)) → [1,2,3,4]
enumerate(iter) 返回索引-元素对 list(enumerate(["a","b"])) → [(0,'a'), (1,'b')]
zip(*iterables) 并行迭代多个可迭代对象 list(zip([1,2], ["a","b"])) → [(1,'a'), (2,'b')]
sorted(iter) 返回排序后的列表 sorted([3,1,2], reverse=True) → [3,2,1]
reversed(iter) 返回反转的迭代器 list(reversed([1,2,3])) → [3,2,1]

4. 高阶函数
函数 描述 示例
map(func, iter) 应用函数到每个元素 list(map(str.upper, ["a","b"])) → ['A','B']
filter(func, iter) 过滤满足条件的元素 list(filter(lambda x: x>0, [-1,2,3])) → [2,3]
lambda args: expr 匿名函数(快速定义简单逻辑) (lambda x,y: x+y)(3,5) → 8

二、数据结构方法
1. 字符串(str
方法 描述 示例
s.split(sep) 按分隔符分割字符串 "a,b,c".split(",") → ['a','b','c']
s.join(iter) 将可迭代对象连接为字符串 ",".join(["a","b"]) → "a,b"
s.replace(old, new) 替换子字符串 "hello".replace("l", "L") → "heLLo"
s.strip() 去除两端空白字符 " text ".strip() → "text"
s.startswith(prefix) 检查是否以指定前缀开头 "file.txt".startswith("file") → True
s.format() 格式化字符串 "{} + {} = {}".format(1,2,3) → "1 + 2 = 3"
推荐实践:优先使用 f-strings(Python 3.6+):
name = "Alice"
print(f"Hello, {name}!")  # 输出 "Hello, Alice!"

2. 列表(list
方法 描述 示例
lst.append(x) 添加元素到末尾 lst = [1,2]; lst.append(3) → [1,2,3]
lst.extend(iter) 合并另一个可迭代对象 lst = [1]; lst.extend([2,3]) → [1,2,3]
lst.insert(i, x) 在索引i处插入x lst = [1,3]; lst.insert(1,2) → [1,2,3]
lst.pop(i) 移除并返回索引i的元素 lst = [1,2,3]; lst.pop(1) → 2(列表变为[1,3])
lst.sort() 原地排序(可指定keyreverse lst = [3,1,2]; lst.sort() → [1,2,3]
推荐实践:使用 列表推导式 替代简单循环:
squares = [x**2 for x in range(5)]  # [0,1,4,9,16]

3. 字典(dict
方法 描述 示例
d.get(key, default) 安全获取键值(避免KeyError) d = {"a":1}; d.get("b", 0) → 0
d.keys() 返回所有键的视图 list(d.keys()) → ["a"]
d.values() 返回所有值的视图 list(d.values()) → [1]
d.items() 返回键值对视图 list(d.items()) → [("a", 1)]
d.update(other) 合并另一个字典 d.update({"b":2}) → {"a":1, "b":2}
推荐实践:使用 字典推导式 快速构建字典:
squares = {x: x**2 for x in range(3)}  # {0:0, 1:1, 2:4}

4. 集合(set
方法 描述 示例
s.add(x) 添加元素 s = {1}; s.add(2) → {1,2}
s.remove(x) 移除元素(不存在时报错) s = {1,2}; s.remove(2) → {1}
s.discard(x) 安全移除元素(不存在不报错) s.discard(3)
s.union(t) 返回并集 {1,2}.union({2,3}) → {1,2,3}
推荐实践:使用集合进行快速去重:
unique = list(set([1,2,2,3]))  # [1,2,3](顺序可能变化)

三、常用模块函数
1. 文件操作(open
# 使用 with 自动管理资源(推荐)
with open("data.txt", "r") as f:
    content = f.read()  # 读取全部内容

# 写入文件
with open("output.txt", "w") as f:
    f.write("Hello\nWorld")

2. 时间处理(timedatetime
import time
start = time.time()         # 获取当前时间戳(秒)
time.sleep(1)               # 休眠1秒

from datetime import datetime
now = datetime.now()        # 当前时间对象
formatted = now.strftime("%Y-%m-%d %H:%M:%S")  # 格式化字符串

3. 系统交互(ossys
import os
os.mkdir("new_dir")         # 创建目录
files = os.listdir(".")     # 列出当前目录文件

import sys
print(sys.argv)             # 获取命令行参数
sys.exit(1)                 # 退出程序并返回状态码

4. 数据序列化(json
import json
data = {"name": "Alice", "age": 25}
json_str = json.dumps(data)  # 转换为JSON字符串
parsed = json.loads(json_str) # 解析JSON字符串

四、最佳实践与常见陷阱
  1. 避免重复造轮子

  2. 优先使用内置函数(如 sum() 替代手动累加循环)。
  3. 利用标准库(如 collections.defaultdict 处理缺失键)。
  4. 文件操作资源管理

  5. 始终使用 with 语句,确保文件正确关闭。
  6. 注意可变对象的副作用

  7. 列表的 append()extend() 会修改原对象,而 + 会创建新对象。
  8. 字符串拼接优化

  9. 避免在循环中使用 += 拼接字符串(性能差),改用 str.join()
    parts = []
    for i in range(100):
        parts.append(str(i))
    result = "".join(parts)
    

五、总结
类别 核心函数/方法 典型应用场景
数学运算 abs(), sum(), round() 数值计算、统计
类型转换 int(), str(), list() 数据清洗、格式转换
迭代处理 map(), filter(), zip() 数据转换、多序列操作
字符串操作 split(), join(), format() 文本解析、格式化输出
数据结构 list.append(), dict.get() 动态数据管理、键值查询
文件与系统 open(), os.listdir() 文件读写、目录操作

掌握这些常用函数与方法,能够大幅提升代码效率和可维护性。在实际开发中,应结合具体场景灵活选择工具,并遵循 Python 之禅(import this)倡导的简洁与明确原则。

作者:六七_Shmily

物联沃分享整理
物联沃-IOTWORD物联网 » Python常用函数全面解析与详解

发表回复