python高阶函数、柯里化、装饰器、参数注解
一、高阶函数 举例: def counter(base): def inc(step=1) base += step return base return inc 1、自定义sort函数 仿照内建函数sorted,自行实现一个sort函数(不使用内建函数),能够为列表元素排序 内建函数sorted函数是返回一个新的列表,可以设置升序或者降序,可以设置一个排序的函数 sorted函数的实现原理,扩展到map,filter函数的实现原理 方式一: def sort(iterable,reverse=False): ret = [] for x in iterable: for i,y in enumerate(ret): flag = x>y if reverse else x<y if flag: #找到大的就地插入 ret.insert(i,x) break else: ret.append(x) return ret print(sort([1,3,4,52,6,10]) 方式二: def sort(iterable,fn=lambda a,b:a>b): ret = [] for x in iterable: for i,y in enumerate(ret): if fn(x,y): #fn函数的返回值是bool ret.insert(i,x) break else: ret