# 这是学习廖雪峰老师python教程的学习笔记

1、概览

我们知道Python内置的求绝对值的函数是abs()

# 调用abs()函数可以获得一个值

>>> abs(-10)

10

# 那么,只写abs本身呢

>>> abs

<built-in function abs>

可见,abs(-10)是函数调用,而abs是函数本身

1.1、将函数赋给变量

将函数赋给变量只有两种情况:

  • 把函数计算得到的 结果 赋给变量

f=abs(-10)

  • 把 函数本身 赋给变量,变量此时可以调用函数,即变量可以指向函数

f=abs

1.2、函数名也是变量

函数名其实就是指向函数的变量。

对于abs()这个函数,可以把函数名abs看成变量。这意味着,可以用其他的值赋给abs这个变量

abs = 10

赋值过后。再调用abs函数报错

注:由于abs函数实际上是定义在import builtins模块中的,所以要让修改abs变量的指向在其它模块也生效,要用import builtins; builtins.abs = 10

2、例题

一个简单的高阶函数,计算abs(x)+abs(y)

# -*- coding: utf-8 -*-

def add(x, y, f):

return f(x) + f(y)

print(add(-5, 6, abs))  # 将abs 函数 作为参数 传给了 add函数

转载于:https://blog.51cto.com/12758568/2115993

Python学习笔记__4.1章 高阶函数相关推荐

  1. 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符

    Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...

  2. 一文看懂Python(八)-----内置高阶函数用法总结

    函数是Python的核心内容之一,能够提高代码的重复利用率.为了更好的使用函数,有必要了解函数的一些高级用法. Python内置了三个高阶函数:所谓高阶函数就是以函数作为参数,或者返回一个函数的函数, ...

  3. JavaScript学习(七十三)—高阶函数

    JavaScript学习(七十三)-高阶函数 高阶函数:高阶函数是对其他函数进行操作的函数,它接收函数作为参数或将函数作为返回值输出 此时的fn就是一个高阶函数,函数也是一种数据类型,同样可以作为参数 ...

  4. Python学习笔记---------廖雪峰(基础和函数)

    Python学习笔记---------廖雪峰(基础和函数)

  5. Java基础学习笔记(三)_Java核心技术(高阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(高阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  6. Scala学习(十二)高阶函数

    2019独角兽企业重金招聘Python工程师标准>>> 1.作为值的函数 在Scala中,你可以在变量中存放函数: import scala.math._val num = 3.14 ...

  7. 【天池龙珠计划寒假训练营】python学习笔记(三):从函数到高级魔法方法

    十二. 函数与Lambda表达式 12.1 函数 还记得 Python 里面"万物皆对象"么?Python 把函数也当成对象,可以从另一个函数中返回出来而去构建高阶函数,比如: 参 ...

  8. Scala - 快速学习08 - 函数式编程:高阶函数

    函数式编程的崛起 函数式编程中的"值不可变性"避免了对公共的可变状态进行同步访问控制的复杂问题,能够较好满足分布式并行编程的需求,适应大数据时代的到来. 函数是第一等公民 可以作为 ...

  9. Python学习笔记__4章 函数式编程

    # 这是学习廖雪峰老师python教程的学习笔记 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程 ...

最新文章

  1. 为什么密码比字符串更喜欢char []?
  2. HTML5 应用程序缓存
  3. 信息树和XML文件的遍历及XML文件的应用
  4. ACM入门之【快速幂】
  5. 详解java方法与递归
  6. Python里面对于嵌套列表的查询
  7. java ThreadLocal理解和使用
  8. 【Java】深入理解Java虚拟机的读书笔记
  9. js子窗口调用父窗口函数并传递对象给父窗口的方法
  10. NoteBurner Spotify教程:在Mac上将 Spotify 音乐转换为 MP3 格式
  11. 在SQL-SERVER2000中对同一个数据库多张表进行查询时怎样避免笛卡儿乘积???...
  12. linux常用命令(21)tar命令
  13. Java加密算法库BouncyCastle
  14. IDEA使用maven命令打包
  15. C++多线程函数_beginthread/_beginthreadex/CreateThread
  16. 中国音频放大器市场现状研究分析与发展前景分析报告
  17. 奥克兰大学计算机科学与技术,奥克兰大学计算机科学专业怎么样?成为IT达人就靠它...
  18. sdcc和C51中断程序
  19. 小程序与bmob后端云
  20. IDEA-Translation插件更新TKK失败

热门文章

  1. SQL Server 与 SQL Express 的异同
  2. android handle显示加载框
  3. npm修改默认安装路径和数据源
  4. SpringIOC的依耐注入DI---set注入---constructor有参构造注入---了解P命名空间---了解SpEL
  5. [BZOJ 2054]疯狂的馒头
  6. Ocelot中文文档-微服务ServiceFabric
  7. 微信小程序开发:学习笔记[8]——页面跳转及传参
  8. border绘制三角形
  9. python pdb 调试
  10. C# 窗口最大化但不占用任务栏位置