Python连载17-排序函数&返回函数的函数

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.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料。

相关文章
相关标签/搜索