Python(32)Python内置函数全解析:30个核心函数的语法、案例与最佳实践

Python(32)Python内置函数全解析:30个核心函数的语法、案例与最佳实践

目录

在这里插入图片描述

引言

Python内置函数是语言核心功能的直接体现,掌握它们能显著提升代码效率和可读性。本文系统梳理30个最常用的内置函数,涵盖数据类型操作、函数式编程、输入输出、元编程等核心领域。每个函数均包含语法解析、参数说明、典型案例及注意事项,助力开发者写出更Pythonic的代码。

基础数据类型操作

1. len()

语法len(iterable)
功能:返回对象长度或元素个数
案例

# 字符串长度print(len("Hello World"))# 11# 列表元素个数 data =[1,2,[3,4]]print(len(data))# 3# 字典键值对数量 stats ={"a":1,"b":2}print(len(stats))# 2

2. range()

语法range(start, stop[, step])
功能:生成整数序列
案例

# 生成0-4序列for i inrange(5):print(i)# 0,1,2,3,4# 步长为2 even_numbers =list(range(0,10,2))# [0,2,4,6,8]

3. enumerate()

语法enumerate(iterable, start=0)
功能:同时获取索引和值
案例

fruits =["apple","banana","cherry"]for index, value inenumerate(fruits,1):print(f"{index}: {value}")# 1: apple# 2: banana# 3: cherry

4. zip()

语法zip(*iterables)
功能:合并多个可迭代对象
案例

names =["Alice","Bob"] ages =[25,30]for name, age inzip(names, ages):print(f"{name} is {age} years old")# Alice is 25 years old# Bob is 30 years old

5. sorted()

语法sorted(iterable, key=None, reverse=False)
功能:返回排序后的新列表
案例

# 按字符串长度排序 words =["apple","banana","cherry"] sorted_words =sorted(words, key=len)print(sorted_words)# ['apple', 'cherry', 'banana']

函数式编程工具

6. map()

语法map(function, iterable)
功能:对可迭代对象每个元素应用函数
案例

# 平方计算 numbers =[1,2,3,4] squares =list(map(lambda x: x**2, numbers))print(squares)# [1, 4, 9, 16]

7. filter()

语法filter(function, iterable)
功能:筛选符合条件的元素
案例

# 过滤偶数 numbers =[1,2,3,4,5,6] evens =list(filter(lambda x: x %2==0, numbers))print(evens)# [2, 4, 6]

8. reduce()

语法reduce(function, iterable[, initializer])
功能:对可迭代对象中的元素进行累积计算
案例

from functools importreduce# 计算乘积 numbers =[1,2,3,4] product =reduce(lambda x, y: x * y, numbers)print(product)# 24

9. any()

语法any(iterable)
功能:检查是否至少有一个元素为真
案例

# 检测用户权限 permissions =["read","write"]ifany(perm in permissions for perm in["delete","execute"]):print("Has required permission")else:print("Permission denied")# 输出

10. all()

语法all(iterable)
功能:检查是否所有元素都为真
案例

# 验证表单数据 form_data ={"username":"alice","email":"[email protected]","age":"25"}ifall(form_data.values()):print("Form is valid")else:print("Missing fields")

输入输出与文件操作

11. open()

语法open(file, mode='r', encoding=None)
功能:文件操作
案例

# 写入文件withopen("data.txt","w", encoding="utf-8")as f: f.write("Hello, World!")# 读取文件withopen("data.txt","r", encoding="utf-8")as f: content = f.read()print(content)# Hello, World!

12. print()

语法print(*objects,, end='\n', file=sys.stdout)
功能:输出内容到控制台
案例

# 格式化输出 name ="Alice" age =25print(f"Name: {name}, Age: {age}")# Name: Alice, Age: 25# 重定向输出到文件withopen("output.txt","w")as f:print("This will be written to file",file=f)

13. input()

语法input([prompt])
功能:获取用户输入
案例

# 简单交互 username =input("Enter your name: ")print(f"Welcome, {username}!")

14. exec()

语法exec(object[, globals[, locals]])
功能:执行动态生成的代码
案例

# 动态执行代码 code =""" def greet(name): print(f"Hello, {name}!") greet("Bob") """exec(code)# 输出: Hello, Bob!

15. eval()

语法eval(expression[, globals[, locals]])
功能:执行表达式并返回结果
案例

# 计算数学表达式 result =eval("2 + 3 * 4")print(result)# 14# 动态创建对象 cls_name ="int" obj =eval(f"{cls_name}(10)")print(obj)# 10

元编程与高级功能

16. dir()

语法dir([object])
功能:查看对象属性和方法
案例

# 查看列表方法print(dir([]))# 包含append, count, index等方法# 查看模块内容import math print(dir(math))# 包含sqrt, pi等属性和函数

17. help()

语法help([object])
功能:获取帮助文档
案例

# 查看len函数的帮助help(len)# 查看列表的帮助help(list)

18. type()

语法type(object)
功能:获取对象类型
案例

# 类型检查print(type(10))# <class 'int'>print(type("hello"))# <class 'str'>print(type([1,2,3]))# <class 'list'>

19. isinstance()

语法isinstance(object, classinfo)
功能:检查对象是否为指定类型
案例

# 类型验证classMyClass:pass obj = MyClass()print(isinstance(obj, MyClass))# Trueprint(isinstance(10,int))# True

20. hasattr()

语法hasattr(object, name)
功能:检查对象是否有指定属性
案例

classPerson:def__init__(self, name): self.name = name p = Person("Alice")print(hasattr(p,"name"))# Trueprint(hasattr(p,"age"))# False

21. getattr()

语法getattr(object, name[, default])
功能:获取对象属性值
案例

classConfig: debug =False config = Config()print(getattr(config,"debug"))# Falseprint(getattr(config,"timeout",30))# 30(属性不存在时返回默认值)

22. setattr()

语法setattr(object, name, value)
功能:设置对象属性值
案例

classUser:pass user = User()setattr(user,"name","Alice")setattr(user,"age",25)print(user.name, user.age)# Alice 25

23. delattr()

语法delattr(object, name)
功能:删除对象属性
案例

classData: value =42 data = Data()delattr(data,"value")print(hasattr(data,"value"))# False

24. globals()

语法globals()
功能:返回当前全局符号表
案例

# 查看全局变量print(globals()["__name__"])# __main__# 动态创建全局变量globals()["new_var"]="Hello"print(new_var)# Hello

25. locals()

语法locals()
功能:返回当前局部符号表
案例

defexample(): local_var =42print(locals()) example()# 输出包含'local_var'的字典

26. vars()

语法vars([object])
功能:返回对象属性字典
案例

classPoint:def__init__(self, x, y): self.x = x self.y = y p = Point(1,2)print(vars(p))# {'x': 1, 'y': 2}

27. callable()

语法callable(object)
功能:检查对象是否可调用
案例

print(callable(len))# True(函数对象)print(callable(10))# False(整数不可调用)print(callable(lambda x: x))# True(lambda表达式)

28. compile()

语法compile(source, filename, mode)
功能:将源代码编译为代码对象
案例

# 编译并执行代码 code_str ="print('Hello from compiled code')" code_obj =compile(code_str,"<string>","exec")exec(code_obj)# 输出: Hello from compiled code

29. id()

语法id(object)
功能:返回对象的内存地址
案例

a =10 b = a print(id(a))# 140735530235488print(id(b))# 140735530235488(相同值对象共享内存)

30. hash()

语法hash(object)
功能:返回对象的哈希值
案例

print(hash("hello"))# -7176065445015297706print(hash(10))# 10

总结

Python内置函数是语言核心竞争力的体现,合理使用能显著提升开发效率。建议掌握以下原则:

  1. 优先使用内置函数:如用len()代替手动计数,用zip()代替手动索引对齐
  2. 注意函数副作用:如sorted()返回新列表,而list.sort()原地排序
  3. 结合高级特性:将map()与生成器表达式结合,filter()与lambda结合使用
  4. 避免过度使用:如exec()eval()存在安全风险,需谨慎处理输入

通过系统掌握这些内置函数,开发者能写出更简洁、高效、Pythonic的代码。建议结合官方文档持续学习,探索更多高级用法。

🌈Python爬虫相关文章(推荐)

概述地址(点击进入)
Python全方位指南Python(1)Python全方位指南:定义、应用与零基础入门实战
Python基础数据类型详解Python(2)Python基础数据类型详解:从底层原理到实战应用
Python循环Python(3)掌握Python循环:从基础到实战的完整指南
Python列表推导式Python(3.1)Python列表推导式深度解析:从基础到工程级的最佳实践
Python生成器Python(3.2)Python生成器深度全景解读:从yield底层原理到万亿级数据处理工程实践
Python函数编程性能优化Python(4)Python函数编程性能优化全指南:从基础语法到并发调优
Python数据清洗Python(5)Python数据清洗指南:无效数据处理与实战案例解析(附完整代码)
Python邮件自动化Python(6)Python邮件自动化终极指南:从零搭建企业级邮件系统(附完整源码)
Python通配符基础Python(7)Python通配符完全指南:从基础到高阶模式匹配实战(附场景化代码)
Python通配符高阶Python(7 升级)Python通配符高阶实战:从模式匹配到百万级文件处理优化(附完整解决方案)
Python操作系统接口Python(8)Python操作系统接口完全指南:os模块核心功能与实战案例解析
Python代码计算全方位指南Python(9)Python代码计算全方位指南:从数学运算到性能优化的10大实战技巧
Python数据类型Python(10)Python数据类型完全解析:从入门到实战应用
Python判断语句Python(11)Python判断语句全面解析:从基础到高级模式匹配
Python参数传递Python(12)深入解析Python参数传递:从底层机制到高级应用实践
Python面向对象编程Python(13)Python面向对象编程入门指南:从新手到类与对象(那个她)的华丽蜕变
Python内置函数Python(14)Python内置函数完全指南:从基础使用到高阶技巧
Python参数传递与拷贝机制Python(15)Python参数传递与拷贝机制完全解析:从值传递到深拷贝实战
Python文件操作Python(16)Python文件操作终极指南:安全读写与高效处理实践
Python字符编码Python(17)Python字符编码完全指南:从存储原理到乱码终结实战
Python中JSON的妙用Python(18)Python中JSON的妙用:详解序列化与反序列化原理及实战案例
Python并发编程Python(19)Python并发编程:深入解析多线程与多进程的差异及锁机制实战
Python文件与目录操作全攻略Python(20)Python文件与目录操作全攻略:增删改查及递归实战详解
Python日期时间完全指南Python(21)Python日期时间完全指南:从基础到实战注意事项
Python Socket编程完全指南Python(22)Python Socket编程完全指南:TCP与UDP核心原理及实战应用
Python异常处理完全指南Python(23)Python异常处理完全指南:从防御到调试的工程实践
Python数据压缩Python(24)Python数据压缩全解析:从基础操作到异常处理实战
Python正则表达式Python(25)Python正则表达式深度解析:五大匹配模式与七大实战场景
Python数据验证Python(26)Python数据验证终极指南:从基础校验到高级技巧全覆盖
Python字符串方法Python(27)Python字符串方法全解析:从基础操作到高效处理技巧
Python循环语句Python(28)Python循环语句指南:从语法糖到CPython字节码的底层探秘
Python生成器函数Python(29)Python生成器函数深度解析:asyncio事件循环的底层实现与异步编程实战
Python itertools生成器Python(30)基于itertools生成器的量子计算模拟技术深度解析
Python PyPy生成器优化Python(31)PyPy生成器优化深度解析:JIT加速下的Python性能革命
Python基础类型练习题Python练习(1)Python基础类型操作语法实战:20道实战题解与案例分析(上)
Python基础类型练习题Python练习(2)Python基础类型操作语法实战:30道实战题解与案例分析(下)
Python循环语句练习题Python练习(3)Python循环语句的10个核心实战案例(含答案与深度解析)

Read more

极简即王道 下一代Agent架构Pi Agent Core设计逻辑深度解析

极简即王道 下一代Agent架构Pi Agent Core设计逻辑深度解析

在当前人工智能Agent领域的发展浪潮中,各类框架层出不穷,大多数开发者都陷入了一种“加法思维”的误区,认为Agent的能力提升必然依赖更多的工具、更长的提示词、更复杂的规划链路以及更多的子Agent。然而,由Mario Zechner开发的Pi Agent Core(以下简称Pi)却走出了一条截然不同的道路,它以“极简主义”为核心哲学,用不到1500行代码、5个核心文件,在Terminal-Bench 2.0排行榜中与众多复杂架构的Agent同台竞技并跻身前列,重新定义了下一代Agent的设计逻辑。 Pi的核心哲学源自Mario Zechner的一句总结,An autonomous agent is just an LLM + tools + a loop. 这句话看似简单,却直击Agent的本质,也成为了Pi所有设计决策的出发点。作为一名在Agent开发领域有着深刻经验的开发者,Mario Zechner在长期实践中发现,当前很多Agent框架的复杂设计不仅没有提升效率,反而增加了系统的冗余度和维护成本,甚至影响了Agent的自主性和灵活性。于是,他摒弃了主流的加法思路,选择用减

By Ne0inhk
Flutter 三方库 at_commons 分布式通信系统鸿蒙化适配研讨:突破多端协同下的极致底层隐私凭据加密轮转交互障碍,彻底根治零信任空间网络通信复杂确权-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 at_commons 分布式通信系统鸿蒙化适配研讨:突破多端协同下的极致底层隐私凭据加密轮转交互障碍,彻底根治零信任空间网络通信复杂确权-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 at_commons 分布式通信系统鸿蒙化适配研讨:突破多端协同下的极致底层隐私凭据加密轮转交互障碍,彻底根治零信任空间网络通信复杂确权难题 在鸿蒙平台的去中心化身份(DID)、跨端隐私数据同步或基于 @协议 的点对点通讯开发中,如何实现标准化的原始数据结构(Metadata)路由与交互操作命令解析?at_commons 库是 @协议(The @ Protocol)生态中的核心公共组件库。本文将详解该库在 OpenHarmony 上的适配要点。 前言 什么是 at_commons?它不是一个功能性的终端应用库,而是定义了 @协议中所有核心原子操作(如 put, get, update, delete)的请求/响应模型、异常处理机制以及极致精细的数据访问控制策略(Metadata)。在鸿蒙操作系统强调的“全场景分布式连接”和“极致个人隐私保护”

By Ne0inhk
Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战

Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 p2plib 的鸿蒙化适配指南 - 实现高性能的端到端(P2P)加密通讯、支持分布式节点发现与去中心化数据流传输实战 前言 在进行 Flutter for OpenHarmony 的分布式办公、即时通讯或多端文件互传应用开发时,如何绕过中心服务器,实现设备间的直接、高强度加密通信?p2plib 是一款专注于 Peer-to-Peer 协议构建的底层通信库。它能让你在鸿蒙真机上轻松搭建起一套低延迟、强隐私的去中心化网络。本文将探讨如何在鸿蒙系统下构建极致的端到端交互能力。 一、原直观解析 / 概念介绍 1.1 基础原理 p2plib 利用了 UDP 打洞(NAT Traversal)和高效的加解密算法(如 Ed25519 签名),在不同的鸿蒙设备之间建立起点对点的逻辑隧道。它负责处理节点的身份验证、加密握手以及数据的分片与重组。

By Ne0inhk
MoE开山鼻祖——1991年的论文有多么朴实无华

MoE开山鼻祖——1991年的论文有多么朴实无华

论文标题:Adaptive Mixtures of Local Experts 论文地址:https://people.engr.tamu.edu/rgutier/web_courses/cpsc636_s10/jacobs1991moe.pdf Abstract 论文提出了一种新的监督学习方法,适用于由多个独立网络组成的系统,每个网络学习处理训练案例全集的一个子集。 这种新方法既可以看作是多层监督网络的模块化版本,也可以看作是竞争学习的关联版本。 多层监督网络: 指的是把多个中间层(隐藏层)的数据也纳入计算损失。类比到Bert模型,就是把某些个Transformer Block最后的hidden tensor结果一些变换(如平均池化)后去计算损失,然后加权到最终的损失函数上。 竞争学习: 类似在线版本的K Means,假设我们有三个数据源,当一个样本到来后,通过竞争规则(如欧式距离)计算出获胜的神经元,然后只更新获胜神经元的权重。 因此,它在这两种看似不同的方法之间建立了新的联系。论文证明,该学习方法将元音辨别任务分解为适当的子任务,每个子任务都可以由一个非常简单的专

By Ne0inhk