# 这是学习廖雪峰老师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函数