Python3 内置函数(超详细)

更新时间:

💡一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观

在 Python 编程的世界中,内置函数(Built-in Functions)如同一把钥匙,能够帮助开发者快速打开高效编程的大门。这些由 Python 解释器直接支持的函数,无需额外导入即可直接调用,覆盖了从基础操作到复杂逻辑的广泛场景。无论是初学者构建第一个脚本,还是中级开发者优化代码结构,掌握 Python3 内置函数的核心功能与使用技巧,都是提升开发效率的关键一步。本文将通过系统化的分类讲解、生动的比喻和实际案例,带读者深入理解这些“隐形工具箱”中的宝藏。


一、基础操作类函数:构建编程的最小单元

1.1 测量与计数:len()sum()min()/max()

想象你是一位仓库管理员,需要快速统计库存数量、计算总价值或找出最贵的商品。Python 的 len()sum()min()max() 函数,正是这样的“测量工具”。

  • len():返回对象的元素数量,适用于字符串、列表、元组等可迭代对象。

    text = "Hello Python"  
    print(len(text))  # 输出 12  
    numbers = [1, 2, 3, 4]  
    print(len(numbers))  # 输出 4  
    
  • sum():对可迭代对象中的数值元素求和,可设置初始值(start)。

    numbers = [5, 7, 3]  
    print(sum(numbers))       # 输出 15  
    print(sum(numbers, 10))   # 输出 25(10+5+7+3)  
    
  • min()/max():返回可迭代对象中的最小值或最大值,或多个参数中的极值。

    print(min(10, 20, 30))    # 输出 10  
    print(max([5, 2, 8, 1])) # 输出 8  
    

比喻sum() 好比会计的计算器,min()/max() 则是仓库中的“标尺”,快速定位关键数值。


1.2 数据转换与类型控制:int()float()str()

这些函数如同“翻译官”,帮助不同数据类型之间进行安全转换:

  • int():将字符串或浮点数转换为整数。

    num_str = "42"  
    num_int = int(num_str)  
    print(num_int + 5)  # 输出 47  
    
  • float():将字符串或整数转换为浮点数。

    num_str = "3.14"  
    num_float = float(num_str)  
    print(num_float * 2)  # 输出 6.28  
    
  • str():将其他类型转换为字符串,常用于日志记录或格式化输出。

    age = 25  
    print("用户年龄:" + str(age))  # 输出 "用户年龄:25"  
    

注意事项:强制类型转换需确保数据格式兼容,否则会抛出 ValueError。例如,int("3.14") 会引发错误。


二、迭代与函数式编程:map()filter()lambda表达式

2.1 数据流水线:map()filter()的协同工作

map() 函数如同工厂流水线的“加工站”,对可迭代对象中的每个元素执行指定函数:

def square(x):  
    return x ** 2  

numbers = [1, 2, 3, 4]  
squared = map(square, numbers)  
print(list(squared))  # 输出 [1, 4, 9, 16]  

filter() 则是“筛选器”,根据条件函数过滤元素:

def is_even(x):  
    return x % 2 == 0  

filtered = filter(is_even, [1, 2, 3, 4, 5])  
print(list(filtered))  # 输出 [2, 4]  

结合 lambda 简化代码

squared = map(lambda x: x**2, [1, 2, 3])  
filtered = filter(lambda x: x > 2, [1, 3, 5])  

比喻map() 是流水线上的机器人,filter() 是质检员,而 lambda 是即插即用的“临时指令”。


2.2 排序与键值操作:sorted()reversed()

sorted() 函数如同整理书架的助手,返回排序后的新列表:

numbers = [5, 1, 3]  
sorted_numbers = sorted(numbers)  
print(sorted_numbers)  # 输出 [1, 3, 5]  

print(sorted(numbers, reverse=True))  # 输出 [5, 3, 1]  

fruits = ["apple", "banana", "cherry"]  
sorted_fruits = sorted(fruits, key=lambda x: len(x))  
print(sorted_fruits)  # 输出 ["apple", "cherry", "banana"]  

reversed() 则是“时光倒流器”,返回逆序迭代器:

original = [1, 2, 3]  
reversed_iter = reversed(original)  
print(list(reversed_iter))  # 输出 [3, 2, 1]  

三、进阶技巧与常见场景应用

3.1 错误处理与调试:assert()help()

assert() 是代码的“安全哨兵”,用于快速验证条件是否成立:

def divide(a, b):  
    assert b != 0, "除数不能为零"  
    return a / b  

divide(10, 0)  

help() 函数如同“在线文档助手”,提供函数或模块的详细说明:

help(sorted)  

3.2 高级函数组合:zip()enumerate()

zip() 将多个可迭代对象“打包”为元组列表,常用于合并数据:

names = ["Alice", "Bob"]  
ages = [25, 30]  
zipped = zip(names, ages)  
print(list(zipped))  # 输出 [('Alice', 25), ('Bob', 30)]  

enumerate() 为可迭代对象添加索引,简化循环操作:

fruits = ["apple", "banana", "cherry"]  
for index, fruit in enumerate(fruits):  
    print(f"第{index}个水果是:{fruit}")  

四、实战案例:综合运用内置函数优化代码

假设需要统计一段文本中每个单词的出现次数,并按频率排序输出:

text = """Python is an interpreted high-level general-purpose programming language. Python is dynamically typed and garbage-collected. It supports multiple programming paradigms, including structured, object-oriented, and functional programming."""  

words = text.lower().split()  

from collections import defaultdict  
word_count = defaultdict(int)  
for word in words:  
    word_count[word] += 1  

sorted_words = sorted(  
    word_count.items(),  
    key=lambda x: (-x[1], x[0])  # 先按频率降序,再按字母升序  
)  

for word, count in sorted_words:  
    print(f"{word}: {count}")  

关键内置函数应用

  • split() 分割字符串
  • defaultdict(来自 collections 模块,但底层依赖内置字典逻辑)
  • sorted()key 参数实现多条件排序

五、总结与进阶建议

Python3 内置函数如同程序员的“瑞士军刀”,涵盖基础操作、数据处理、类型转换及高级编程范式。本文通过分类讲解与实战案例,展示了如何利用这些函数简化代码、提升效率。对于初学者,建议从常用函数(如 len()map())入手,逐步深入;中级开发者则可探索 zip()enumerate() 等函数在复杂场景中的组合应用。

持续学习方向

  1. 掌握 globals()locals() 等元编程相关函数
  2. 学习 eval()exec() 的安全使用场景
  3. 研究 functools 模块与内置函数的协同优化

通过系统性地理解和实践这些工具,开发者能够更自信地应对从脚本编写到大型项目开发的多样化需求,真正发挥 Python“高效简洁”的语言优势。

最新发布