当前位置: 首页 > news >正文

【Python 内置函数】

Python 内置函数是语言核心功能的直接体现,无需导入即可使用。以下是精选的 10 大类、50+ 核心内置函数详解,涵盖日常开发高频场景:


一、数据类型转换

函数示例说明
int()int("123") → 123字符串/浮点数转整数
float()float("3.14") → 3.14字符串/整数转浮点数
str()str(42) → “42”任意类型转字符串
bool()bool(0) → False0/None/空序列转False,其他True
list()list("abc") → [‘a’,‘b’,‘c’]可迭代对象转列表
tuple()tuple([1,2,3]) → (1,2,3)可迭代对象转元组
dict()dict([('a',1)]) → {‘a’:1}键值对序列转字典
set()set([1,1,2]) → {1,2}可迭代对象转集合(去重)

二、数学运算

函数示例说明
abs()abs(-5) → 5绝对值
round()round(3.1415, 2) → 3.14四舍五入
max()max(3,5,1) → 5最大值(支持多参数/可迭代对象)
min()min([4,2,7]) → 2最小值
sum()sum([1,2,3]) → 6求和
pow()pow(2,3) → 8幂运算(等价于2**3)
divmod()divmod(10,3) → (3,1)返回商和余数的元组

三、序列操作

函数示例说明
len()len([1,2,3]) → 3序列/集合长度
sorted()sorted([3,1,2]) → [1,2,3]返回排序后的新列表
reversed()list(reversed([1,2,3])) → [3,2,1]反向迭代器
enumerate()list(enumerate(['a','b'])) → [(0,‘a’),(1,‘b’)]枚举索引和值
zip()list(zip([1,2], ['a','b'])) → [(1,‘a’),(2,‘b’)]合并多个序列
slice()s = slice(1,5); [0,1,2,3,4][s] → [1,2,3,4]切片对象

四、函数工具

函数示例说明
map()list(map(str.upper, ['a','b'])) → [‘A’,‘B’]映射函数到序列
filter()list(filter(lambda x:x%2==0, [1,2,3])) → [2]过滤序列元素
reduce()from functools import reduce; reduce(lambda x,y:x+y, [1,2,3]) → 6累积计算(需导入)
lambdalambda x: x*2 → 匿名函数快速定义简单函数

五、对象查询

函数示例说明
type()type(42)<class 'int'>返回对象类型
isinstance()isinstance([], list) → True检查对象类型继承关系
dir()dir([]) → 列表方法列表返回对象属性和方法列表
id()id(42) → 内存地址返回对象唯一标识符
hash()hash("key") → 哈希值返回对象的哈希值(要求不可变)

六、输入输出

函数示例说明
print()print("Hello") → 输出到控制台基础输出函数
input()input("提示:") → 用户输入从标准输入读取字符串
open()open('file.txt', 'r') → 文件对象打开文件(需配合with使用)

七、高级工具

函数示例说明
eval()eval("2+3") → 5执行字符串表达式(谨慎使用)
exec()exec("print('hello')")执行字符串代码(谨慎使用)
globals()返回全局变量字典查看/修改全局作用域
locals()返回局部变量字典查看/修改局部作用域
help()help(list) → 显示文档获取对象帮助信息

八、使用技巧

  1. 类型转换陷阱

    int("123a")  # 抛出 ValueError
    bool([])     # 空列表转False,非空列表转True
    
  2. 性能优化

    • 优先使用 map()/filter() 替代列表推导式处理大数据
    • 避免在循环中频繁调用 len()(预存结果)
  3. 函数式编程

    # 组合函数
    func = lambda x: x**2
    processed = map(func, [1,2,3])
    

九、经典面试题

Q:如何交换两个变量的值?

a, b = b, a  # 无需临时变量

Q:如何判断对象是否可迭代?

from collections.abc import Iterable
isinstance(obj, Iterable)

掌握这些内置函数可覆盖 80% 的日常开发需求。对于复杂场景(如高性能计算),可结合 itertoolsfunctools 等标准库模块进一步扩展功能。

相关文章:

  • 微服务如何实现服务的高可用
  • C++GO语言微服务之Dockerfile docker-compose②
  • 若依框架页面
  • TCP/IP-——C++编程详解
  • SAP修改多元化政策
  • C语言:51单片机实现数码管依次循环显示【1~F】课堂练习
  • C#中的dynamic与var:看似相似却迥然不同
  • element合并单元格合并表头合并列,指定合并某一列
  • 小结:Android系统架构
  • 常见相机焦段的分类及其应用
  • 【RT-Thread】 组件机制
  • 在 Angular 中, `if...else if...else`
  • 游戏盾SDK的防护介绍
  • 虚幻引擎5-Unreal Engine笔记之摄像机与场景捕获相关概念的解析
  • 主机A向主机B发送一个长度为L字节的文件,假设TCP的MSS为1460字节,则在TCP的序号不重复使用的前提下,L的最大值是多少?
  • 阿里云Docker镜像加速配置指南
  • 相关行业发展趋势写一个爬虫程序
  • MQ消息队列的深入研究
  • 数据库系统概论|第六章:关系数据理论—课程笔记2
  • 在Unity中制作拥有36年历史的游戏系列新作《桃太郎电铁世界》
  • 国新办将就2025年4月份国民经济运行情况举行新闻发布会
  • 4月新增社融1.16万亿,还原地方债务置换影响后信贷增速超过8%
  • 男子不满和睦家医院手术效果还遇到了“冒牌医生”?院方回应
  • 习近平会见智利总统博里奇
  • 我的科学观|梅彦昌:科技创新关键在于能否跑得快,而不是有没有钱
  • 美英贸易协议|不,这不是一份重大贸易协议