sorted、返回函数、匿名函数、装饰器、偏函数
1.sorted()排序方法,它可已经一个列表按照升序排序,也可以按照反序排序
1)如果要进行反序排序时,需要在函数里面设置reverse = True
2)sorted是一个高阶函数,它接受函数作为参数,还可以通过key函数来实现自定义的排序,根据key函数来设置一些功能的实现
key函数写在数据类型的后面
2.返回函数
1)返回函数是将函数作为返回值的函数
在求一个函数时,如果我们不需要立刻返回结果值,我们可以定义一个函数将之作为另外一个函数的返回值,当运行返回的函数时,才会
将值输出
2)当一个函数作为另外一个函数的返回值时,内部函数可以调用外部函数的参数和局部变量,当外部函数返回内部函数时,
参数和局部变量还会保存在返回函数中,这称之为“闭包”
3)注意:返回函数不要引用任何循环变量,,或者后续会发生变化的变量,不然每次返回的值都相同
3.匿名函数:lambada就是匿名函数,他会简化函数的使用,匿名函数没有return关键字
1)当函数的参数时一个时,需要将函数的参数指出,不然会报错
例如:求x^2lambda x:x*x
2)当参数时另个时,就不需要指出参数,但也可以指出参数
例如:lambada x*x+y*y或者lambda x,y:x*x+y*y
3)匿名函数一般用于比较简单的函数,复杂的函数现在无法实现
4.装饰器(decorator)是一个返回函数的高阶函数,它是一种运行期间增加功能的函数,但不修改内部的函数的高阶函数
1)通过functools 包里面的wraps模块会自动补充完整函数的属性
2)在Python中可以通过函数实现装饰器,还可以通过类来实现装饰器
5.偏函数就是创建一种函数帮我们固定住函数的参数,来简化函数的实现
1)functools.partial()函数就是Python帮我们创建的一个偏函数,作用就是将原函数的某些参数固定,返回我们所学的一个新函数
2)偏函数functools.partial()函数接受*args可变参数和dict**kw键值对,一般在对数据类型进行计算时,将*args自动加入到数据类型左边