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

python高级内置函数介绍及应用举例

目录

  • 1. 概述
  • 2. 举例

1. 概述

Python中有许多高级内置函数,它们提供了丰富的功能和便利性,可以大大简化代码并提高效率。以下是一些常用的高级内置函数:

map():

用于将一个函数应用于一个可迭代对象的所有项,返回一个新的迭代器。
filter():

用于根据指定的条件过滤可迭代对象中的元素,返回一个迭代器。
reduce()(在Python 3中被移到了functools模块):

用于对可迭代对象中的元素进行累积操作,返回一个单一的结果。
lambda函数:

匿名函数,用于快速定义简单的小型函数。
enumerate():

用于将一个可迭代对象的元素同时返回索引和值。
zip():

用于将多个可迭代对象的对应位置的元素组合成元组。
any() 和 all():

用于检查可迭代对象中的元素是否为True。
sorted():

用于对可迭代对象进行排序。
reversed():

用于反转一个序列。
min() 和 max():

用于找到可迭代对象中的最小和最大值。
sum():

用于对可迭代对象中的所有元素求和。
any() 和 all():

用于检查可迭代对象中的元素是否为True。
getattr() 和 setattr():

用于获取和设置对象的属性。
slice():

用于创建一个切片对象,可以用于切取可迭代对象的一部分。
zip() 和 *args / **kwargs 结合使用:

可以用于函数调用时传递可变数量的参数。
这些高级内置函数可以极大地简化代码并提高代码的可读性和可维护性。同时也能够使得代码更加高效和灵活。

2. 举例

  1. map(): 该函数将一个函数应用于给定序列的每个元素,并将每个结果作为一个新序列返回。例如,将一个列表中的所有元素平方:
nums = [1, 2, 3, 4]
squares = list(map(lambda x: x**2, nums))
print(squares)
# 输出: [1, 4, 9, 16]
  1. filter(): 该函数返回一个由符合条件的元素组成的新序列。例如,从列表中过滤出奇数:
nums = [1, 2, 3, 4]
odd_nums = list(filter(lambda x: x % 2 != 0, nums))
print(odd_nums)
# 输出: [1, 3]
  1. reduce(): 该函数接收一个函数和一个序列,重复地将函数应用于序列中的元素,最终返回一个单一的值。例如,计算列表中所有元素的和:
from functools import reducenums = [1, 2, 3, 4]
sum = reduce(lambda a, b: a + b, nums)
print(sum)
# 输出: 10
  1. sorted(): 该函数返回一个排序后的序列。例如,对一个列表进行排序:
nums = [4, 2, 5, 1, 3]
sorted_nums = sorted(nums)
print(sorted_nums)
# 输出: [1, 2, 3, 4, 5]
  1. zip(): 该函数将多个序列并排组合成一个新的序列。例如,将两个列表按位合并:
first_names = ["John", "Jane", "Bob"]
last_names = ["Doe", "Smith", "Johnson"]
names = list(zip(first_names, last_names))
print(names)
# 输出: [("John", "Doe"), ("Jane", "Smith"), ("Bob", "Johnson")]
  1. enumerate():

介绍:enumerate() 用于将一个可迭代对象的元素同时返回索引和值。
应用举例:

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):print(index, fruit)
# 输出:
# 0 apple
# 1 banana
# 2 cherry
  1. 匿名函数(lambda函数):

介绍:lambda函数是一种简洁的定义小型函数的方式,通常用于需要一个简单的函数的情况。
应用举例:

add = lambda x, y: x + y
result = add(3, 5)
# 输出: 8
  1. any() 和 all():
    在 Python 中,any()all() 都是用于对可迭代对象进行逻辑判断的函数。

any() 函数接受一个可迭代对象作为参数,返回 True 或 False。如果可迭代对象中至少有一个元素为 True,那么返回 True,否则返回 False。例如:

>>> any([False, True, False])
True
>>> any([False, False, False])
False

all() 函数也接受一个可迭代对象作为参数,返回 True 或 False。如果可迭代对象中的所有元素都为 True,那么返回 True,否则返回 False。例如:

>>> all([True, True, True])
True
>>> all([True, False, True])
False

需要注意的是,如果可迭代对象为空,那么 any()all() 都会返回 False。
9. getattr() 和 setattr():
getattr() 和 setattr() 是 Python 内置函数,用于获取和设置对象的属性。

getattr() 用于获取对象的属性值,语法为:

getattr(object, name[, default])

其中,object 为对象,name 为属性名,default 为默认值,如果对象没有该属性,则返回默认值。如果不提供默认值,当对象没有该属性时会抛出 AttributeError 异常。

示例:

class MyClass:my_attr = 42obj = MyClass()
print(getattr(obj, 'my_attr'))  # 输出 42
print(getattr(obj, 'not_exist_attr', 'default_value'))  # 输出 default_value

setattr() 用于设置对象的属性值,语法为:

setattr(object, name, value)

其中,object 为对象,name 为属性名,value 为属性值。

示例:

class MyClass:my_attr = 42obj = MyClass()
setattr(obj, 'my_attr', 100)
print(obj.my_attr)  # 输出 100

这些函数是Python中内置的非常有用的高级函数,可以大大简化代码,提高效率。

http://www.lryc.cn/news/163840.html

相关文章:

  • 人体呼吸存在传感器成品,毫米波雷达探测感知技术,引领智能家居新潮流
  • 软件设计模式(三):责任链模式
  • 开发者的商业智慧:产品立项策划你知道多少?
  • Linux 6.6 初步支持AMD 新一代 Zen 5 处理器
  • 第五章 Linux常用应用软件
  • 连接云-边-端,构建火山引擎边缘云网技术体系
  • 系统架构设计师(第二版)学习笔记----系统架构设计师概述
  • 自动化测试:Selenium中的时间等待
  • vim 替换命令 “:s“
  • 【golang】调度系列之m
  • 可持久化线段树
  • 运行 Node.js 与浏览器 JavaScript
  • File类操作
  • C# 实现电子签名
  • 小米6/6X/米8/米9手机刷入鸿蒙HarmonyOS.4.0系统-刷机包下载-遥遥领先
  • 集合框架和泛型二
  • thinkphp6 入门教程合集(更新中)
  • openGauss学习笔记-65 openGauss 数据库管理-创建和管理数据库
  • mysql、MHA高可用配置即故障切换
  • 使用“vue init mpvue/mpvue-quickstart“初始化mpvue项目时出现的错误及解决办法
  • Linux-Shell整理集合
  • windows环境下node安装教程(超详细)
  • 《TCP/IP网络编程》阅读笔记--并发多进程服务端的使用
  • 【C++】day2学习成果:引用、结构体等等。。。
  • QT 第五天 TCP通信与数据库
  • Java程序中常用的设计模式有哪些和该种设计模式解决的痛点
  • Android12之解析/proc/pid进程参数(一百六十四)
  • 正儿八经的雅思口语盘丝洞大法学习总结(长期修改更新)针对23.9月考生
  • 算法竞赛入门【码蹄集新手村600题】(MT1260-1280)C语言
  • qt连接tcp通信和连接数据库