主要讲的是稍微高级一点的函数,这些函数往往能使代码更简洁,提高编程效率。
一:lambda匿名函数
为什么说是匿名函数呢?
因为python中声明函数的方式只有def和lambda两种,lambda函数实际上是一个表达式,而不是一个语句;其主体是一个单独的表达式而不是一个代码块:
lambda arguement1, argumnet2, argument3, ……, argument N: expression using arguments
被认为是没有函数名的,但是可以通过赋值,将表达式赋值给一个变量名,之后通过这个变量名调用函数,调用方式和def的代码一样遵循相同规则。
f = lambda x, y, z = x + y + z
f(2,3,4)
9
也许一看到lambda你会联想到数学里的lambda(我数学不好), 但是这里的确实比数学里的东西好理解?。也许你会问为什么要用lambda, 这是因为使用lambda确实能精简代码,这符合python之禅;但是也不能让代码太过晦涩难懂,适度使用这些技术也是很有用处的。
二:range、map、filter、reduce、zip、enumerate函数
放在一起是因为python3中他们返回的都是迭代器对象或者是可迭代