"""
函数式编程：一种抽象程度很高的编程范式，纯粹的函数式编程语言编写的函数没有变量，因此，任意一个函数
，只要输入是确定的，输出就是确定的，这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言，
由于函数内部的变量状态不确定，同样的输入可能得到不同的输出，因此这种函数是有副作用的。

函数式编程的一个特点就是：允许函数本身作为参数传入另一个函数，还允许返回一个函数！

Python允许使用变量，因此，Python不是纯函数式编程语言

"""

"""
     高阶函数(Higher-order function)：可以接收另一个函数作为参数的函数 
"""

""" 变量可以指向函数 """
print(abs(-10))
print(abs)
f = abs
print(f)
print(f(-10))


""" 函数名也是变量 """
abs = 10
#print(abs(-10))
""" abs指向改变"""


"""传入函数"""
def add(x, y, f):
    return f(x)+ f(y)

print(add(-5, 6, f))


