1、高阶函数-排序python
1.定义:把一个序列按照给定算法进行排序git
2.key:在排序前对每个元素进行key函数运算,能够理解成按照key函数定义的逻辑进行排序github
3.python2和python3相差巨大算法
#help(sorted) #排序案例1 a = [526,6,5565,323,596,265,6256] #升序输出 al = sorted(a) #降序输出 ap = sorted(a,reverse=True) print(al) print(ap) #排序案例2 b = [514,56,25,526,-54,-54156,4,54,-415] #按照绝对值排序 #abs是求绝对值的意思 a1 = sorted(b,key=abs,reverse=True) print(a1) #sorted案例 astr = ['dana','Dana','youxiu','asdhj'] a2 = sorted(astr) print(a2) a3 = sorted(astr,key=str.lower) print(a3)
2、返回函数安全
1.函数也能够返回具体的值;也能够返回一个函数做为结果微信
2.咱们接下来举例,只举第二段话的例子函数
def myF2(): def myF3(): print("再试一下结果") return 3 return myF3 f3 = myF2() print(type(f3)) print(f3) print("------分割线------") print(f3())
从返回值里面看出反回了一个类函数,而后咱们运行了这个函数。学习
3、负责一点的返回函数的例子args:参数列表大数据
注:(1)myF4定义了函数,返回内部函数定义的myF5;(2)myF5定义了外部变量,这个变量是myF4的参数ui
def myF4(*args): #*args中的星号是让Python建立一个名为args的空元组 def myF5(): rst = 0 for n in args: rst += n return rst return myF5 f5 = myF4(2,8,54,652,6526,6) print(f5())
对比一下
def myF6(*args): rst = 0 for n in args: rst += n return rst f6 = myF6(2,8,54,652,6526,6) print(f6)
总结:其实这个和上面函数得数同样,可是下面更好理解一些,这里就是为了作一个可以返回函数的演示,并且最本质的区别在于,一个是返回函数一个是返回值。
之因此要更复杂,是由于在企业的开发中返回函数更具备安全性要求,咱们对函数能够进行加密。
4、源码:
d20_1_sorted_function&return_function_of_function
地址:https://github.com/ruigege66/Python_learning/blob/master/d20_1_sorted_function%26return_function_of_function
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料。