Python(14)Python内置函数完全指南:从基础使用到高阶技巧

news2025/4/17 1:19:11

目录

      • 背景介绍
      • 一、内置函数全景分类
        • 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.14

nums = [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: pass

stu = 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"))  # 20

exec("""
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面向对象编程入门指南:从新手到类与对象(那个她)的华丽蜕变

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2335325.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

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 安装…

【C++ 进阶】泛型算法:概述

目录 一、泛型算法基础概念 1.1 什么是泛型算法&#xff1f; 1.2 核心设计原则 1.3 算法分类体系 1.4 与 STL 容器的关系 二、迭代器&#xff1a;泛型算法的 “钥匙” 2.1 迭代器类型 2.2 迭代器适配器 三、常用泛型算法分类与实战 3.1 非修改型算法&#xff08;只读…

系统与网络安全------Windows系统安全(10)

资料整理于网络资料、书本资料、AI&#xff0c;仅供个人学习参考。 域与活动目录 域相关概念 域和域控制器 域&#xff08;Domain&#xff09; 集中管理网络中多台计算机的一种逻辑模式 有别于工作组的对等式管理 是组织与存储资源的核心管理单元 域控制器&#xff08;D…

Linux vagrant 导入ubuntu到virtualbox

前言 vagrant 导入ubuntu虚拟机前提要求 安装 virtualbox 和vagrant<vagrant-disksize> (Linux 方式 Windows 方式)创建一键部署ubuntu虚拟机 /opt/vagrant 安装目录/opt/VirtualBox 安装目录/opt/ubuntu22/Vagrantfile (可配置网络IP,内存,cpu,磁盘及分区,启动项,…

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 总结 前言 之前的文章讲解了红黑树的具体实…

量子计算未来的潜力和挑战

据麦肯锡预测&#xff0c;到 2035 年或 2040 年&#xff0c;量子计算市场规模可能增长至约 800 亿美元。目前&#xff0c;许多量子比特技术正竞相成为首台通用、无差错量子计算机的基础&#xff0c;但仍面临诸多挑战。 我们将探讨量子计算的未来前景、潜力&#xff0c;以及它对…

五笔输入法学习的抉择:86版 or 98版?(一场关于效率与传承的思辨)

新开直接98&#xff0c;纯粹高开&#xff1b;老版过渡艰辛自知&#x1f60b;。 笔记模板由python脚本于2025-04-14 19:22:22创建&#xff0c;本篇笔记适合喜好汉字衷情母语的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;…

为您的 Web 应用选择最佳文档阅读器

为显示选择合适的文档查看器是开发 Web 应用过程中至关重要的一步。文档查看器应能在提供功能性的同时&#xff0c;确保用户体验的流畅性。 开发人员必须评估多种因素&#xff0c;以确保效率、性能和兼容性。本文将帮助您了解影响用户文档浏览体验成功与否的关键指标。 渲染质…

微服务之protobuf:下载、语法和使用一站式教程

基本介绍 Protobuf全称 Protocol Buffer&#xff0c;是 Google 公司于2008年开源的一种语言无关、平台无关、可扩展的用于序列化结构化数据——类似于XML&#xff0c;但比XML更小、更快、更简单&#xff0c;它可用于&#xff08;数据&#xff09;通信协议、数据存储等。你只需…

Ollama调用多GPU实现负载均衡

文章目录 &#x1f4ca; 背景说明&#x1f6e0;️ 修改 systemd 服务配置1. 配置文件路径2. 编辑服务文件2. 重新加载配置并重启服务3. 验证配置是否成功 &#x1f4c8; 应用效果示例1. 调用单个70b模型2. 调用多个模型&#xff08;70b和32b模型&#xff09; 总结&#x1f4cc;…

WebRTC实时通话EasyRTC嵌入式音视频通信SDK,构建智慧医疗远程会诊高效方案

一、方案背景 当前医疗领域&#xff0c;医疗资源分布不均问题尤为突出&#xff0c;大城市和发达地区优质医疗资源集中&#xff0c;偏远地区医疗设施陈旧、人才稀缺&#xff0c;患者难以获得高质量的医疗服务&#xff0c;制约医疗事业均衡发展。 EasyRTC技术基于WebRTC等先进技…

AIoT 智变浪潮演讲实录 | 刘浩然:让硬件会思考:边缘大模型网关助力硬件智能革新

4 月 2 日&#xff0c;由火山引擎与英特尔联合主办的 AIoT “智变浪潮”技术沙龙在深圳成功举行&#xff0c;活动聚焦 AI 硬件产业的技术落地与生态协同&#xff0c;吸引了芯片厂商、技术方案商、品牌方及投资机构代表等 700 多位嘉宾参会。 会上&#xff0c;火山引擎边缘智能高…

【Windows】系统安全移除移动存储设备指南:告别「设备被占用」弹窗

Windows系统安全移除移动存储设备指南&#xff1a;告别「设备被占用」弹窗 解决移动硬盘和U盘正在被占用无法弹出 一、问题背景 使用Windows系统时&#xff0c;经常遇到移动硬盘/U盘弹出失败提示「设备正在使用中」&#xff0c;即使已关闭所有可见程序。本文将系统梳理已验证…

ArmSoM Sige5 CM5:RK3576 上 Ultralytics YOLOv11 边缘计算新标杆

在计算机视觉技术加速落地的今天&#xff0c;ArmSoM 正式宣布其基于 ​​Rockchip RK3576​​ 的旗舰产品 ​​Sige5 开发板​​ 和 ​​CM5 核心板​​ 全面支持 Ultralytics YOLOv11 模型的 RKNN 部署。这一突破标志着边缘计算领域迎来新一代高性能、低功耗的 AI 解决方案&am…

【ubuntu】linux开机自启动

目录 开机自启动&#xff1a; /etc/rc.loacl system V 使用/etc/rc*.d/系统运行优先级 遇到的问题&#xff1a; 1. Linux 系统启动阶段概述 方法1&#xff1a;/etc/rc5.d/ 脚本延时日志 方法二&#xff1a;使用 udev 规则来触发脚本执行 开机自启动&#xff1a; /etc/…

操作系统导论——第19章 分页:快速地址转换(TLB)

使用分页作为核心机制来实现虚拟内存&#xff0c;可能会带来较高的性能开销。使用分页&#xff0c;就要将内存地址空间切分成大量固定大小的单元&#xff08;页&#xff09;&#xff0c;并且需要记录这些单元的地址映射信息。因为这些映射信息一般存储在物理内存中&#xff0c;…

计算机网络:流量控制与可靠传输机制

目录 基本概念 流量控制&#xff1a;别噎着啦&#xff01; 可靠传输&#xff1a;快递必达服务 传输差错&#xff1a;现实中的意外 滑动窗口 基本概念 换句话说&#xff1a;批量发货排队验收 停止-等待协议 SW&#xff08;发1份等1份&#xff09; 超时重传&#xff1a;…

架构生命周期(高软57)

系列文章目录 架构生命周期 文章目录 系列文章目录前言一、软件架构是什么&#xff1f;二、软件架构的内容三、软件设计阶段四、构件总结 前言 本节讲明架构设计的架构生命周期概念。 一、软件架构是什么&#xff1f; 二、软件架构的内容 三、软件设计阶段 四、构件 总结 就…

JMeter使用

1.简介 1.1 打开方式 ①点击bat,打开 ②添加JMeter系统环境变量,输⼊命令jmeter即可启动JMeter⼯具 1.2 配置 简体中文 放大字体 1.3 使用 ①添加线程组 ②创建http请求 2. 组件 2.1 线程组 控制JMeter将⽤于执⾏测试的线程数&#xff0c;也可以把⼀个线程理解为⼀个测…

Ant Design Vue 表格复杂数据合并单元格

Ant Design Vue 表格复杂数据合并单元格 官方合并效果 官方示例 表头只支持列合并&#xff0c;使用 column 里的 colSpan 进行设置。 表格支持行/列合并&#xff0c;使用 render 里的单元格属性 colSpan 或者 rowSpan 设值为 0 时&#xff0c;设置的表格不会渲染。 <temp…