自定义函数变量的设置

一个星号
*传入元组,且这个变量为可变变量
两个星号
**后的那些参数被当做字典类型传递到函数中
带有双星号的可变参数只能出现在参数列表的最后
注意双星号是字典类型(字典形式要有键值对)

>>>def d(a,b=6,*c,**d):print("a=",a,"b=",b,"c=",c,"d=",d)
>>>d(1,2,3,4)
a= 1 b= 2 c= (3, 4) d= {}
>>>def d(a,b=6,*c,**d):print("a=",a,"b=",b,"c=",c,"d=",d)
>>>d(a=1,b=2,c=3)
a= 1 b= 2 c= () d= {'c': 3}

不能重复赋值

#对b二次赋值报错
>>>def d(a,b=6,*c,**d):print("a=",a,"b=",b,"c=",c,"d=",d)
>>>d(1,2,3,4,b=1)
TypeError: d() got multiple values for argument 'b'

强制命名参数

>>>def aaa(*,a,b,c):return a+b+c
>>>aaa(a=1,b=1,c=1)
3

强制命名必须用命名来传递值

>>>def aaa(*,a,b,c):return a+b+c
>>>aaa(a=1,1,1)
SyntaxError: positional argument follows keyword argument#报错

lambda匿名函数

函数名 = lambda 参数:表达式

等价于

def 函数名(参数):
函数体
return 返回值
!!! lambda不允许包含复合语句,只可以包含一个表达式

map函数

map(function(函数),iterable,…(一个或多个序列))

>>>def square(x):return x**2
>>>map(square,[1,2,3,4,5])
# 生成迭代器
<map at 0x2c5f1526860>

需要转换

>>>def square(x):return x**2
>>>list(map(square,[1,2,3,4,5]))
[1, 4, 9, 16, 25]

结合lambda

>>>map(lambda x:x**2,[1,2,3,4,5])
<map at 0x2c5f1526cf8>
>>>list(map(lambda x:x**2,[1,2,3,4,5]))
[1, 4, 9, 16, 25]

filter函数

filter(function(判断函数),iterable(可迭代对象))
留下True,过滤False
判断函数:只能接受一个参数,且返回值是True或False
可迭代对象:直接调filter函数只返回迭代器,需要用list()或其他函数来转换,但在for循环中可以直接使用

zip函数

zip(seq[,seq,…])
可把两个或多个序列中的相应项合并在一起
以元组的格式返回它们
在处理完最短序列中的所有项后停止

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>list(zip(a,b))
#返回元组列表
[(1, 4), (2, 5), (3, 6)]
#返回字典类型
>>>dict(zip([1,2],[3,4]))
{1: 3, 2: 4}
#zip(*...)为还原
>>>a = [1,2,3]
>>>b = [4,5,6]
>>>list(zip(*zip(a,b)))
[(1, 2, 3), (4, 5, 6)]

enumerate函数

用于将一个可遍历的数据编号

>>>s = ['a','b','c','d']
>>>list(enumerate(s))
#默认从0开始
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
>>>list(enumerate(s,start = 1))
#可以设定从1或其他数字开始
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

自定义函数变量的设置(*/**),lambda匿名函数(map/filter/zip/enumerate)相关推荐

  1. java 匿名函数_Java中的lambda匿名函数使用

    Java中的lambda匿名函数使用 lambda匿名函数的使用是为了满足某些情况下需要临时定义函数,或者事先定义,需要时才使用.在python里面,lambda表达式的表达方式为:lambda 参数 ...

  2. python跨文件调用lambda函数_python基础-4 函数参数引用、lambda 匿名函数、内置函数、处理文件...

    1 语法2 以下是round()方法的语法:3 4 round( x [, n] )5 参数6 x --这是一个数值表达式7 8 n --这也是一个数值表达式9 10 返回值11 该方法返回 x 的小 ...

  3. matlab 设置为匿名函数,MATLAB匿名函数

    本文概述 匿名函数是简单的(单行)用户定义函数, 无需创建单独的函数文件(M文件)即可进行定义.可以在命令窗口中, 脚本文件中或用户定义的函数中定义匿名函数. 通过键入以下命令来生成匿名函数: 其中f ...

  4. 内置函数与lambda匿名函数

    内置函数 all(iteralble) 如果可迭代对象内的所有元素的bool值为真,那么返回真,如果这个可迭代对象是空,也返回真. all([1,2,3,4]) # return True all([ ...

  5. C++11 lambda匿名函数看这一篇足以

    文章目录 1.lambda匿名函数的定义 2.lambda匿名函数中的[外部变量] lambda 源自希腊字母表中第 11 位的 λ,在计算机科学领域,它则是被用来表示一种匿名函数.所谓匿名函数,简单 ...

  6. Python之高阶函数(abs、map、reduce、filter、lambda匿名函数)

    Python之高阶函数(abs.map.reduce.filter.lambda匿名函数) 什么是内置高阶函数 高阶函数:一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返 ...

  7. lambda匿名函数

    lambda匿名函数 1. lambda是匿名函数,但是可以命名,名字在等号左边 2. lambda中只能包含一个表达式,不能包含复合语句 语法: <函数名> = lambda <参 ...

  8. 列表排序方法sort()的key参数取值,以及lambda匿名函数

    1.sort()方法的key参数 li = [[1, 7], [1, 5], [2, 4], [1, 1]] li.sort() print(li) #[[1, 1], [1, 5], [1, 7], ...

  9. Python 之父为什么嫌弃 lambda 匿名函数?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 Python 支持 lambda 匿 ...

最新文章

  1. 【spring】springAop开发
  2. 微博收藏(机器学习课程与论文)(三)
  3. CobaltStrike使用
  4. Ubuntu各版本主要差异
  5. node环境搭建流程
  6. Ubuntu系统全盘备份与恢复,亲自总结,实测可靠
  7. python经典书籍推荐:Python核心编程
  8. 我的docker随笔16:构建一个特定的nodejs镜像
  9. 基于OctTree的快速最近颜色搜索
  10. mysql安装包下载与检核
  11. 案例1-合并2个不同文件夹中的csv文件到另外一个目录,相同的文件名进行数据合并,不同的文件名直接移到新文件夹...
  12. 什么是软件形式化方法?
  13. 杨云华师大计算机,2017-2018学年第二学期教师辅导-华东师范大学计算中心网站.DOC...
  14. 005. C++智能指针
  15. 随机梯度下降的动量法 Momentum
  16. 用云服务器搭建虚拟主机,用云服务器搭建虚拟主机
  17. 多媒体个人计算机软件系统由,多媒体计算机系统是由()组成。
  18. Xiaojie雷达之路---TI实战笔记---ESM Driver说明
  19. 前端HTTP、浏览器面试题
  20. 使用addr2line分析crash问题

热门文章

  1. 云服务器Linux jdk安装详解(centos8)
  2. 第一阶段:Java基础之变量
  3. UltraEdit如何删除指定字符后的内容
  4. Java实现返回的数据为树形结构
  5. 《移动应用开发》作业——HTML、CSS
  6. Eclipse——通过Eclipse Marketplace安装SVN插件subclipse以及简单使用
  7. CTF Geek Challenge——第十一届极客大挑战Pwm Write Up
  8. BIOS——[PXE-E61:Media test failure,check cable]解决方案
  9. Shovels Shop
  10. Sasha and Sticks