编程的方法论:
面向过程
面向对象
函数式
函数式编程的定义:
函数式=编程语言定义的函数+数学意义上的函数(先想到一个数学模型,再用python上的功能实现这个逻辑)
y = x + 1 def cat(): return x + 1
特性:
1.不用变量保存状态,意思就是不赋值,而且不修改变量
2.第一类对象:函数即变量
高阶函数1。函数接收的参数是一个函数名 2#返回值中包含函数 把函数当作参数传给另外一个函数 def foo(n): #n=bar print(n) def bar(name): print('my name is %s' %name) # foo(bar) bar是内存地址 # foo(bar()) bar()是none 因为没有返回值 foo(bar('alex'))
my name is alex
none
3.返回值当中包含函数
def foo(): print('from bar') return foo
def hanle(): print('from handle') $这是一个完整的自己调用自己,要赋值 return hanle h=hanle() h()
def test1(): print('from test1') def test2(): print('from handle') return test1() #表示return一个返回值,一定要test1函数运行完才能得到一个return值
4.尾调用:在函数的最后一步调用另一个函数(最后一行不等于最后一步),比如下面这个函数
def test(x): if x > 1: return ture elif x == 1: return false #最后一步 else: return Ture
test(1)
高阶函数:1。函数接收的参数是一个函数名 或者2#返回值中包含函数名