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

【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 等标准库模块进一步扩展功能。

http://www.xdnf.cn/news/6107.html

相关文章:

  • 大模型数据处理全流程【实战】数据洞察、数据增强、数据清洗
  • 【Redis】缓存穿透、缓存雪崩、缓存击穿
  • 印刷业直角坐标型码垛机器人系统设计与应用研究
  • python:一个代理流量监控的媒体文件下载脚本
  • 518本周总结(30)Steam过审+Epic提审
  • Vue3指令(二)--v-text、v-html数据渲染,计算属性
  • TNNLS-2020《Autoencoder Constrained Clustering With Adaptive Neighbors》
  • 【DRAM存储器五十一】LPDDR5介绍--CK、WCK、RDQS单端模式、Thermal Offset、Temperature Sensor
  • 近期搬了个家,停更了几天,明天继续哈~
  • 学会使用ai作图
  • 腾讯 IMA 工作台升级:新增知识库广场与 @提问功能
  • 标签部件(lv_label)
  • 企业数字化转型背景下的企业知识管理挑战与经验杂谈
  • 如何迁移 WSL 卸载 Ubuntu WSL
  • 数据库常见故障排查
  • 网络协议分析 实验六 TCP和端口扫描
  • web第三次课后作业--基于JDBC对mysql数据库的增删查改操作
  • 51单片机——交通指示灯控制器设计
  • 前端安全:XSS、CSRF 防御与最佳实践
  • JavaSwing之-JDialog
  • C++类和对象练习:Date类实现日期的差,比较日期的大小,日期的前置后置++,--,输入输出Date类,对默认函数的练习。
  • 数据科学和机器学习的“看家兵器”——pandas模块 之一
  • Docker Compose 的安装方法
  • 使用mermaid 语言绘画时序图和链路图
  • 基于 TensorFlow 框架的联邦学习可穿戴设备健康数据个性化健康管理平台研究
  • Tensorflow2保存和加载模型
  • 2025年PMP 学习十二 第9章 项目资源管理
  • 02_Servlet
  • .Net HttpClient 使用代理功能
  • Leetcode (力扣)做题记录 hot100(62,64,287,108)