Python(14)Python内置函数完全指南:从基础使用到高阶技巧
目录
- 背景介绍
- 一、内置函数全景分类
- 1. 数据类型转换(15个)
- 2. 数学运算(12个)
- 3. 迭代处理(9个)
- 4. 对象操作(11个)
- 5. 输入输出(4个)
- 二、高阶函数应用场景
- 1. enumerate实现带索引遍历
- 2. eval与exec动态执行代码
- 3. sorted复杂排序
- 三、性能与安全注意事项
- 1. 类型转换陷阱:
- 2. eval安全风险:
- 3. 迭代器资源管理:
- 四、总结与学习路径
- 1. 核心掌握:
- 2. 避坑指南:
- Python相关文章(推荐)
背景介绍
Python内置函数(Built-in Functions)是解释器预装的核心工具集,无需导入即可直接使用。这些函数覆盖了数据类型转换、数学运算、迭代处理、对象操作等关键领域。掌握内置函数可以显著提升开发效率——据统计,熟练使用内置函数能减少30%以上的代码量。本文将系统讲解:
- 8大类共63个内置函数详解
- 高频使用场景与实战案例
- 性能优化与安全注意事项
一、内置函数全景分类
1. 数据类型转换(15个)
| 函数 | 作用描述 | 示例 |
|---|---|---|
| int() | 转换为整数 | int(“42”) → 42 |
| float() | 转换为浮点数 | float(3) → 3.0 |
| str() | 转换为字符串 | str([1,2]) → “[1, 2]” |
| list() | 转换为列表 | list(“abc”) → [‘a’,‘b’,‘c’] |
| tuple() | 转换为元组 | tuple({1:2}) → (1,) |
| dict() | 创建字典 | dict(a=1,b=2) → {‘a’:1, ‘b’:2} |
特殊转换函数:
bytes_data = bytes("中文", encoding='utf-8') # 字符串转字节
ascii_val = ord('A') # 获取ASCII码 → 65
char = chr(97) # ASCII转字符 → 'a'
2. 数学运算(12个)
print(abs(-3.14)) # 绝对值 → 3.14
print(divmod(10,3)) # 商余组合 → (3, 1)
print(pow(2, 3)) # 幂运算 → 8
print(round(3.1415, 2)) # 四舍五入 → 3.14nums = [4, 2, 9, 7]
print(sum(nums)) # 求和 → 22
print(min(nums)) # 最小值 → 2
print(max(nums)) # 最大值 → 9
3. 迭代处理(9个)
组合应用案例:
names = ["Alice", "Bob"]
scores = [85, 92]# 创建字典:zip + dict
score_dict = dict(zip(names, scores))
print(score_dict) # {'Alice': 85, 'Bob': 92}# 过滤数据:filter + lambda
high_scores = filter(lambda x: x>90, scores)
print(list(high_scores)) # # 数值处理:map + 类型转换
str_nums = map(str, [1, 2, 3])
print(':'.join(str_nums)) # "1:2:3"
4. 对象操作(11个)
class Student: passstu = Student()
print(type(stu)) # <class '__main__.Student'>
print(id(stu)) # 内存地址如 1402302028288
print(isinstance(stu, Student)) # True# 动态操作属性
setattr(stu, 'name', 'Tom')
print(hasattr(stu, 'name')) # True
delattr(stu, 'name')
5. 输入输出(4个)
name = input("请输入姓名:") # 控制台输入
print(f"欢迎, {name}!") # 格式化输出# 文件操作(自动关闭)
with open('data.txt', 'w') as f:print("Hello File", file=f)
二、高阶函数应用场景
1. enumerate实现带索引遍历
fruits = ['apple', 'banana', 'cherry']
for idx, fruit in enumerate(fruits, 1):print(f"{idx}. {fruit}")# 输出:
# 1. apple
# 2. banana
# 3. cherry
2. eval与exec动态执行代码
x = 10
print(eval("x * 2")) # 20exec("""
def square(n):return n ** 2
""")
print(square(5)) # 25
3. sorted复杂排序
students = [{'name': 'Alice', 'score': 92},{'name': 'Bob', 'score': 88}
]# 按分数降序排序
sorted_stu = sorted(students, key=lambda x: x['score'], reverse=True)
print(sorted_stu)
# [{'name': 'Alice', 'score': 92}, {'name': 'Bob', 'score': 88}]
三、性能与安全注意事项
1. 类型转换陷阱:
# 浮点转整型的截断行为
print(int(3.99)) # 3 而非4
2. eval安全风险:
# 禁止执行用户输入的代码
eval("__import__('os').system('rm -rf /')") # 危险!
3. 迭代器资源管理:
file = open('data.txt')
lines = iter(file.readline, '') # 逐行读取迭代器
for line in lines:print(line.strip())
file.close() # 必须手动关闭
四、总结与学习路径
1. 核心掌握:
- 熟练使用map/filter/zip处理数据流
- 灵活运用sorted/enumerate优化迭代
- 理解isinstance与type的类型检查区别
2. 避坑指南:
- 避免在循环中重复调用len()(提前存储)
- 优先使用join()而非+=拼接字符串
- 谨慎使用eval()和exec()
内置函数是Python编程的基石工具,合理运用能显著提升代码质量和执行效率。建议读者通过本文的案例进行实操练习,逐步掌握这些核心武器的使用技巧。
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(14)Python内置函数完全指南:从基础使用到高阶技巧
目录 背景介绍一、内置函数全景分类1. 数据类型转换(15个)2. 数学运算(12个)3. 迭代处理(9个)4. 对象操作(11个)5. 输入输出(4个) 二、高阶函数应用场景1. en…...
VM虚拟机安装及Ubuntu安装配置
VM虚拟机安装及Ubuntu安装配置 1、VM虚拟机安装2、创建虚拟机3、Ubuntu系统安装4、编译环境配置4.1 、Ubuntu和 Windows文件互传 文件互传4.1.1、 开启Ubunt下的FTP服务 4.2、 Ubuntu下NFS和SSH服务开启4.2.1、 NFS服务开启4.2.2、 SSH服务开启 4.3、 交叉编译器安装4.3.1 安装…...
基于大模型的轻症急性胰腺炎全流程预测与诊疗方案研究报告
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、轻症急性胰腺炎概述 2.1 定义与诊断标准 2.2 发病机制与病因 2.3 流行病学现状 三、大模型技术原理及应用于医疗领域的可行性 3.1 大模型的基本原理 3.2 在医疗领域的应用进展 3.3 应用于轻症急性胰腺炎…...
【C++ 进阶】泛型算法:概述
目录 一、泛型算法基础概念 1.1 什么是泛型算法? 1.2 核心设计原则 1.3 算法分类体系 1.4 与 STL 容器的关系 二、迭代器:泛型算法的 “钥匙” 2.1 迭代器类型 2.2 迭代器适配器 三、常用泛型算法分类与实战 3.1 非修改型算法(只读…...
系统与网络安全------Windows系统安全(10)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 域与活动目录 域相关概念 域和域控制器 域(Domain) 集中管理网络中多台计算机的一种逻辑模式 有别于工作组的对等式管理 是组织与存储资源的核心管理单元 域控制器(D…...
Linux vagrant 导入ubuntu到virtualbox
前言 vagrant 导入ubuntu虚拟机前提要求 安装 virtualbox 和vagrant<vagrant-disksize> (Linux 方式 Windows 方式)创建一键部署ubuntu虚拟机 /opt/vagrant 安装目录/opt/VirtualBox 安装目录/opt/ubuntu22/Vagrantfile (可配置网络IP,内存,cpu,磁盘及分区,启动项,…...
eSTK.me Cloud Enhance Server 笔记
eSTK.me Cloud Enhance Server 笔记 一、 概述 eSTK.me Cloud Enhance Server 是一个用 Go 语言编写的开源服务器,旨在处理 eSTK.me 远程 eUICC(嵌入式通用集成电路卡)的请求,例如配置文件下载和通知处理。该服务器主要针对 EST…...
C++ 用红黑树封装map/set
前言 一、源码结构分析 二、模拟实现map/set 2.1 套上KeyOfT 2.2 普通迭代器实现 2.3 const迭代器实现 2.4 解决key不能修改的问题 2.5 map的[]实现 2.6 map/set以及红黑树源码 2.6.1 RBTree.h 2.6.2 set.h 2.6.3 map.h 总结 前言 之前的文章讲解了红黑树的具体实…...
【资料分享】瑞芯微RK3506(3核ARM+Cortex-A7 + ARM Cortex-M0)工业核心板选型资料
核心板简介 创龙科技SOM-TL3506是一款基于瑞芯微RK3506J/RK3506B处理器设计的3核ARM Cortex-A7 + ARM Cortex-M0全国产工业核心板,主频高达1.5GHz。核心板CPU、ROM、RAM、电源、晶振等所有元器件均采用国产工业级方案,国产化率100%。 核心板通过邮票孔连接方式引出2x DSMC、…...
3.7 字符串基础
字符串 (str):和列表用法基本一致 1.字符串的创建 -str转换(字符串,可用于将其他字符类型转换为字符串) -单引号 双引号 三引号 2.索引 3.字符串的切片 4.字符串的遍历 5.字符串的格式化 6.字符串的运算符 7.字符串的函数 #…...
量子计算未来的潜力和挑战
据麦肯锡预测,到 2035 年或 2040 年,量子计算市场规模可能增长至约 800 亿美元。目前,许多量子比特技术正竞相成为首台通用、无差错量子计算机的基础,但仍面临诸多挑战。 我们将探讨量子计算的未来前景、潜力,以及它对…...
机器学习项目二:帕金森病检测
目录 下载数据 一、导入相关包 二、数据加载 三、特征工程 四、构建模型 五、评估与可视化 六、程序流程 七、完整代码 一、导入相关包 # 导入库部分 import numpy as np # 数值计算基础库 import pandas as pd # 数据处理库 from sklearn.preprocessing import MinMaxS…...
LDAP渗透测试
LDAP渗透测试 1.LDAP协议概述2.LDAP写公钥3.暴力破解LDAP4.LDAP信息收集ldapdomaindumpwindapsearch工具ldapsearch 1.LDAP协议概述 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)是一种访问和管理目录服务的应用层协议&am…...
五笔输入法学习的抉择:86版 or 98版?(一场关于效率与传承的思辨)
新开直接98,纯粹高开;老版过渡艰辛自知😋。 笔记模板由python脚本于2025-04-14 19:22:22创建,本篇笔记适合喜好汉字衷情母语的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验,…...
为您的 Web 应用选择最佳文档阅读器
为显示选择合适的文档查看器是开发 Web 应用过程中至关重要的一步。文档查看器应能在提供功能性的同时,确保用户体验的流畅性。 开发人员必须评估多种因素,以确保效率、性能和兼容性。本文将帮助您了解影响用户文档浏览体验成功与否的关键指标。 渲染质…...
微服务之protobuf:下载、语法和使用一站式教程
基本介绍 Protobuf全称 Protocol Buffer,是 Google 公司于2008年开源的一种语言无关、平台无关、可扩展的用于序列化结构化数据——类似于XML,但比XML更小、更快、更简单,它可用于(数据)通信协议、数据存储等。你只需…...
国产海光 DCU 资源监控脚本 + Promethues+grafana 深度解析
在当今数字化时代,对于服务器资源的高效监控与管理愈发重要。特别是在使用国产海光 DCU 的场景下,如何精准掌握其资源使用情况,成为了众多技术人员关注的焦点。本文将详细介绍一款国产海光 DCU 资源监控脚本,以及它与 Prometheus 和 Grafana 的结合使用,助力大家实现对 DC…...
Ollama调用多GPU实现负载均衡
文章目录 📊 背景说明🛠️ 修改 systemd 服务配置1. 配置文件路径2. 编辑服务文件2. 重新加载配置并重启服务3. 验证配置是否成功 📈 应用效果示例1. 调用单个70b模型2. 调用多个模型(70b和32b模型) 总结📌…...
WebRTC实时通话EasyRTC嵌入式音视频通信SDK,构建智慧医疗远程会诊高效方案
一、方案背景 当前医疗领域,医疗资源分布不均问题尤为突出,大城市和发达地区优质医疗资源集中,偏远地区医疗设施陈旧、人才稀缺,患者难以获得高质量的医疗服务,制约医疗事业均衡发展。 EasyRTC技术基于WebRTC等先进技…...
深入理解计算机系统记录
在 C 语言中,struct(结构体)和 union(联合体)都是用来存储多个不同类型的数据成员,但它们在内存分配和数据存储方式上有显著区别。下面详细说明它们的主要区别: 1. 内存分配 结构体(…...
【笔记】对抗训练-GAN
对抗训练-GAN 深度学习中 GAN 的对抗目标函数详解与最优解推导一、GAN 的基本对抗目标函数二、判别器与生成器的博弈目标三、判别器的最优解推导四、最优判别器的含义五、总结六、WGAN 的动机(为后续铺垫) 深度学习中 GAN 的对抗目标函数详解与最优解推导…...
(二十三)安卓开发中数据存储之Room详解
在安卓开发中,Room 是一个强大的本地数据库解决方案,它是 Android Jetpack 的一部分,基于 SQLite 构建,提供了更高层次的抽象。Room 简化了数据库操作,减少了样板代码,同时支持与 LiveData 和 ViewModel 的…...
AIoT 智变浪潮演讲实录 | 刘浩然:让硬件会思考:边缘大模型网关助力硬件智能革新
4 月 2 日,由火山引擎与英特尔联合主办的 AIoT “智变浪潮”技术沙龙在深圳成功举行,活动聚焦 AI 硬件产业的技术落地与生态协同,吸引了芯片厂商、技术方案商、品牌方及投资机构代表等 700 多位嘉宾参会。 会上,火山引擎边缘智能高…...
【Windows】系统安全移除移动存储设备指南:告别「设备被占用」弹窗
Windows系统安全移除移动存储设备指南:告别「设备被占用」弹窗 解决移动硬盘和U盘正在被占用无法弹出 一、问题背景 使用Windows系统时,经常遇到移动硬盘/U盘弹出失败提示「设备正在使用中」,即使已关闭所有可见程序。本文将系统梳理已验证…...
C++运算符重载全面总结
C运算符重载全面总结 运算符重载是C中一项强大的特性,它允许程序员为自定义类型定义运算符的行为。以下是关于C运算符重载的详细总结: 一、基本概念 1. 什么是运算符重载 运算符重载是指为自定义类型(类或结构体)重新定义或重…...
ArmSoM Sige5 CM5:RK3576 上 Ultralytics YOLOv11 边缘计算新标杆
在计算机视觉技术加速落地的今天,ArmSoM 正式宣布其基于 Rockchip RK3576 的旗舰产品 Sige5 开发板 和 CM5 核心板 全面支持 Ultralytics YOLOv11 模型的 RKNN 部署。这一突破标志着边缘计算领域迎来新一代高性能、低功耗的 AI 解决方案&am…...
【计算机网络】什么是路由?核心概念与实战详解
📌 引言 路由(Routing)是互联网的“导航系统”,负责将数据包从源设备精准送达目标设备。无论是浏览网页、发送消息还是视频通话,背后都依赖路由技术。本文将用通俗类比技术深度的方式,解析路由的核心机制。…...
【ubuntu】linux开机自启动
目录 开机自启动: /etc/rc.loacl system V 使用/etc/rc*.d/系统运行优先级 遇到的问题: 1. Linux 系统启动阶段概述 方法1:/etc/rc5.d/ 脚本延时日志 方法二:使用 udev 规则来触发脚本执行 开机自启动: /etc/…...
dnf install openssl失败的原因和解决办法
网上有很多编译OpenSSL源码(3.x版本)为RPM包的文章,这些文章在安装RPM包时都是执行rpm -ivh openssl-xxx.rpm --nodeps --force 这个命令能在缺少依赖包的情况下能强行执行安装 其实根据Centos的文档,安装RPM包一般是执行yum install或dnf install。后者…...
Java 在人工智能领域的突围:从企业级架构到边缘计算的技术革新
一、Java AI 的底层逻辑:从语言特性到生态重构 在 Python 占据 AI 开发主导地位的当下,Java 正通过技术重构实现突围。作为拥有 30 年企业级开发经验的编程语言,Java 的核心优势在于强类型安全、内存管理能力和分布式系统支持,这…...
