一、高阶函数-排序
1.定义:把一个序列按照给定算法进行排序
2.key:在排序前对每一个元素进行key函数运算,可以理解成按照key函数定义的逻辑进行排序
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)
二、返回函数
1.函数也可以返回具体的值;也可以返回一个函数作为结果
2.我们接下来举例,只举第二段话的例子
def myF2():
def myF3():
print("再试一下结果")
return 3
return myF3
f3 = myF2()
print(type(f3))
print(f3)
print("------分割线------")
print(f3())
从返回值里面看出反回了一个类函数,然后我们运行了这个函数。
三、负责一点的返回函数的例子args:参数列表
注:(1)myF4定义了函数,返回内部函数定义的myF5;(2)myF5定义了外部变量,这个变量是myF4的参数
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)
总结:其实这个和上面函数得数一样,但是下面更好理解一些,这里就是为了做一个能够返回函数的演示,而且最本质的区别在于,一个是返回函数一个是返回值。
之所以要更复杂,是因为在企业的开发中返回函数更具有安全性要求,我们对函数可以进行加密。
四、源码:
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.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料。