匿名函数:为了解决那些功能很简单的需求而设计的一句话函数
#这段代码def calc(n): return n**nprint(calc(10)) #换成匿名函数calc = lambda n:n**nprint(calc(10))
上面是我们对calc这个匿名函数的分析,下面给出了一个关于匿名函数格式的说明
函数名 = lambda 参数 :返回值#参数可以有多个,用逗号隔开#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值#返回值和正常的函数一样可以是任意数据类型
上面是匿名函数的函数用法。除此之外,匿名函数也不是浪得虚名,它真的可以匿名。在和其他功能函数合作的时候
l=[3,2,100,999,213,1111,31121,333]print(max(l))dic={ 'k1':10,'k2':100,'k3':30}print(max(dic))print(dic[max(dic,key=lambda k:dic[k])])
res = map(lambda x:x**2,[1,5,7,4,8])for i in res: print(i)输出125491664
res = filter(lambda x:x>10,[5,8,11,9,15])for i in res: print(i)输出1115
本章小结
说学习内置函数,不如说整理自己的知识体系。其实整理这些内置函数的过程也是在整理自己的知识体系。
我们讲课的时候会归类:常用或者不常用,主要还是根据场景而言。
一个优秀的程序员就应该是在该用这个方法的时候信手拈来,把每一个内置的函数都用的恰到好处。
要想做到这一点,至少要先了解,才能在需要的时候想起,进而将它用在该用的地方。
但是在这里,我还是以自己的一点经验之谈,把几个平时工作中相对更常用的方法推荐一下,请务必重点掌握:
其他:input,print,type,hash,open,import,dir
str类型代码执行:eval,exec
数字:bool,int,float,abs,divmod,min,max,sum,round,pow
序列——列表和元组相关的:list和tuple
序列——字符串相关的:str,bytes,repr
序列:reversed,slice
数据集合——字典和集合:dict,set,frozenset
数据集合:len,sorted,enumerate,zip,filter,map
参考文档: