python 闭包

闭包

闭包使局部变量在函数外背访问成为可能,return函数不加括号返回的是地址。

函数作为返回值

高阶函数除了可以接受函数作为参数外,还可以把函数做为结果返回。

返回结果的实例:

def sum(*args)#*args代表着 函数的参数的数目是可变

  ax = o

  for n in args:

    ax = ax + n

  return ax

f = sum(1,2,3)

print(f)

输出结果为:6

返回函数实例:

def sum(*args):

  def return_sum():

    ax = 0

    for n in args:

      ax = ax + n

    return ax

  return return_sum#返回的是函数,而不是运行的结果

f  = sum(1,2,3)

print(f())

当我们调用sum()时,返回的并不是运行结果而是求和函数

只有当我们调用函数f()时,才是真正在计算求和的值

牢记当return返回一个函数时,该函数并未被执行,返回函数中不要引用可能会变化的变量。

 

posted @ 2019-11-25 21:00  zou-ting-rong  阅读(84)  评论(0编辑  收藏  举报