一、高阶函数-排序

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

Python连载17-排序函数&返回函数的函数的更多相关文章

  1. 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

    [源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...

  2. C基础知识(5):指针--传递指针给函数&返回指针的函数

    下面从3个代码例子分别讲述以下2个知识点: (1) 传递指针给函数(参数类型为指针) (2) 返回指针的函数(返回类型为指针) #include <stdio.h> // 传递指针给函数& ...

  3. 小白学 Python(17):基础数据类型(函数)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  4. JS函数 返回值的函数 return sum;或者result = add2(3,4);

    返回值的函数 思考:上一节函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢? 我们只要把"document.write(sum ...

  5. 孤荷凌寒自学python第十九天python函数嵌套与将函数作为返回对象及闭包与递归

    孤荷凌寒自学python第十九天python函数嵌套与将函数作为返回对象及闭包与递归 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python函数非常的灵活,今天学习了python函数的以 ...

  6. python高阶函数——返回函数(闭包)

    首先,来看一个一般意义的求和: >>> def cal_sum(*args): ... sum = 0 ... for i in args: ... sum = sum + i .. ...

  7. python 函数式编程 闭包,返回一个函数

    参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017434209254976 作业 #使用生成器 def createCounter( ...

  8. c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)

    C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...

  9. python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用

    一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...

  10. 14 python初学(高阶函数 递归函数 内置函数)

    高阶函数:1.  函数名是一个变量,函数名可以进行赋值 2. 函数名可以作为函数参数,还可以作为函数返回值(函数名称作为函数返回值时返回的是:函数的地址:print 这个返回值的调用相当于执行这个函数 ...

随机推荐

  1. Hbase内存磁盘大致关系

    转自: https://blog.csdn.net/wuwenxiang91322/article/details/51595771 Hbase内存磁盘关系磁盘数 diskNum磁盘容量 diskCa ...

  2. C++入门到理解阶段二基础篇(1)——简介与环境安装

    1.C++ 简介 C++ 是一种静态类型的.编译式的.通用的.大小写敏感的.不规则的编程语言,支持过程化编程.面向对象编程和泛型编程. C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点. ...

  3. SynchronusQueue

    /** * 当向SynchronousQueue插入元素时,必须同时有个线程往外取 * SynchronousQueue是没有容量的,这是与其他的阻塞队列不同的地方 */ public class S ...

  4. 第2个word发布的博客

      //接收的为空时,则表示客户端下线,跳出循环 if (r == 0) { break; }; string str = Encoding.UTF8.GetString(buffer, 0, r); ...

  5. EF-入门操作

    EntityFramework Core 理解 DbContext :数据库 DbSet: 数据库表 Model : 数据行 IQueryable<Model> 查询结果集合 Lamada ...

  6. swoole 内存泄露的问题有没有好的办法解决

     在传统的web开发模式中,我们知道,每一次php请求,都要经过php文件从磁盘上读取.初始化.词法解析.语法解析.编译等过程,而且还要与nginx或者apache通信,如果再涉及数据库的交互,还要再 ...

  7. liunx简单命令

    mysql -h主机地址 -u用户名 -p用户密码 --进入数据库1.显示数据库列表. show databases; 2.显示库中的数据表: use mysql: //打开库 show tables ...

  8. .NET MVC5简介(一)

    就像是.NET Framework WebApi与.NET Core WebApi一样,.NET Framework MVC与.NET Core MVC的区别,也是框架的之间的区别.本系列先首先从.N ...

  9. 关于解决Xcode更新7.3之后插件不能用的问题

    Xcode更新7.3之后,之前安装好好的插件现在突然间不能用了(如:我在写背景颜色或者字体颜色的时候,突然间不出来联想的图案来供我选择了),解决这个问题的步骤如下: 1.打开电脑终端,把default ...

  10. 使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头

    在开启这个旅程之前, 请记住, AVFoundation是一个复杂的工具. 在很多情况下, 我我们使用苹果默认的API(比如:UIImagePickerController)就足够了. 在您阅读之前, ...