【Python】python内置函数介绍

简介: 一 前言    在编写Python 程序或者工具脚本时,需要完成某个功能,可以选择编写一个具体的函数达到目的,当然也可以通过匿名/Python 内建函数来完成。本问讲述常见的Python匿名、内建函数---lambda,map,filter,reduce .二 例子2.1 Lambda 是一个匿名函数, 其语法为:lambda parameters:express parameters:可选,通常是逗号分隔的变量表达式形式,即位置参数。
一 前言 
  在编写Python 程序或者工具脚本时,需要完成某个功能,可以选择编写一个具体的函数达到目的,当然也可以通过匿名/Python 内建函数来完成。本问讲述常见的Python匿名、内建函数---lambda,map,filter,reduce .
二 例子
2.1 Lambda 是一个匿名函数,
其语法为:lambda parameters:express
parameters:可选,通常是逗号分隔的变量表达式形式,即位置参数。
expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或yield)函数。如果为元组,则应用圆括号将其包含起来。
调用lambda函数,返回的结果是对表达式计算产生的结果。
根据参数是否为2的倍数 返回yes or no

  1. In [21]: s = lambda x:"yes" if x%2 == 0 else "no"
  2. In [22]: s(3)
  3. Out[22]: 'no'
  4. In [24]: s(4)
  5. Out[24]: 'yes'
上面例子中,将if...else语句缩减为单一的条件表达式,语法为:
  1. expression1 if A else expression2
如果A为True,条件表达式的结果为expression1,否则为expression2 。
使用匿名函数的优点是代码简洁 ,但是不宜读 ,推荐 for ..in ...if  语法进行遍历迭代。

2.2 filter 过滤
其语法为 filter(function, sequence)
意义是:对sequence中的item 依次迭代调用function(item),根据执行结果为True或者False来保留或者丢弃该元素。并将保留的item组成一个List/String/Tuple(取决于sequence的类型
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
  1. In [15]: filter(lambda x:True if x % 3 == 0 else False, range(10))
  2. Out[15]: [0, 3, 6, 9] #返回list
  3. In [17]: filter(lambda x:True if x % 3 == 0 else False, (1,2,3,5,6,7,8,9,10))
  4. Out[17]: (3, 6, 9) #返回Tuple 元组
2.3 map 映射
其语法为map(function, sequence):
map()的用法和filter()类似,也是将序列放入函数进行运算,但是,不论运算结果为什么,map()将返回结果也即返回的结果元素个数和sequence一样多,filter是返回符合条件的值。这是map()和filter()的主要区别。请注意,filter()和map()中的function都必要有一个返回值。同样获取能否被3整除的值,map 返回的是True/False 列表,filter返回的是符合条件的元素结果集。
  1. In [18]: list(map(lambda x:True if x % 3 == 0 else False, range(10)))
  2. Out[18]: [True, False, False, True, False, False, True, False, False, True]
2.4 reduce
其语法为 reduce(function, sequence, starting_value)
意义是:对sequence中的item 依次调用function。reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
如果有starting_value,还可以作为初始值调用,比如1-100的list求和:

  1. In [11]: def add(x,y):
  2.     ...: return x + y
  3.     ...:
  4. In [12]: reduce(add, range(1, 100))
  5. Out[12]: 4950
  6. In [13]: reduce(add, range(1, 10))
  7. Out[13]: 45
  8. # 带上 starting_value 参数,相当于 1+2+3+4+5+6+7+8++9+10+20
  9. In [14]: reduce(add, range(1, 10),20)
  10. Out[14]: 65
三 小结
   本文总结了python内置函数和匿名函数,在编程时合理的运用能够极大的提高开发效率。
  推荐 https://www.python.org/dev/peps/pep-0289/




目录
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
199 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
300 1
|
2月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
182 0
|
3月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
280 101
|
3月前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
228 99
|
3月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
201 98
|
3月前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
4月前
|
Python
Python 函数定义
Python 函数定义
558 155
|
5月前
|
PHP Python
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
573 0
|
3月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
707 0

推荐镜像

更多