函数式编程

1.特性1:不可变,不用变量保存状态,不修改变量

n = 1
def incr_test1(n):
    return n+1
print(incr_test1(2))
print (n)

2.高阶函数,函数接收的参数是一个函数名

def foo(n):#第三步
    print(n)

def bar(name):#第一步
    print('my name is %s'%name)#第二步
# 没有返回值,故返回默认值:None ,所以传个foo函数的是none
foo(bar('alex'))#将函数bar运行的结果给foo函数

3返回值中包含函数

def bar():
    print('from bar')
def foo():
    print('from foo')
   # return bar() #可以这么写,这么写之后就不用将 foo()函数的运行结果赋值给n,然后再让n去调用bar()函数了;
    return bar
n=foo()
n()

 

4.返回值中可以是函数自己,可以是任意函数

def handle ():
    print('from handle')
    return handle
h=handle()
h()

 

posted on 2019-05-27 14:06  测试小伙子  阅读(109)  评论(0编辑  收藏  举报

导航