Python:函数也是对象

寒假学习打卡第十七天

今天补做了一下MIT6.100L的课后作业,明天就可以开新课了。

顺便整理了一下Python里面的一个重要概念:函数也是对象

1、函数名可以赋值到其他变量

def add(a, b):
    return a + b

x = 10
y = 5
print(add(x, y)) # 15

a_plus_b = add
print(a_plus_b(x, y)) # 15

在以上代码,我们将add函数赋值给a_plus_b这个变量,此时a_plus_b就变成了一个拥有与add函数相同功能的函数。

2、函数也能返回函数

def add(a, b):
    total = a + b
    def minus(c):
        return total - c
    return minus

# example 1
a_plus_b_minus_c = add(2, 3)(4)
print(a_plus_b_minus_c) # 1

# example 2
a_plus_b = add(2, 3)
pass # do something
minus_c = a_plus_b(4)
print(minus_c) # 1

既然函数也是对象,也就说我们可以将函数作为返回值进行返回,这意味着函数内部也可以定义函数。同时,我们可以看到,使用example1时,可以一次性返回我们所需要的结果,而example2则表面,我们也可以存储这个过程,先去做其他事情,最后再来调用使用到一半的函数。

你可能感兴趣的:(python,开发语言)