闭包

本文介绍了Python中函数的基本概念,包括如何定义和调用函数,以及如何通过变量来引用函数。此外,还详细解释了闭包的概念及其使用场景,包括如何在一个函数内定义另一个函数,并返回该内部函数的引用。

  def fun():

    pass

  obj = fun()   obj指向了内存中的函数 ,里面有函数代码,有函数名,有文档说明__doc__,'fun'字符串是函数名,obj可以看作是一个变量

  obj()   调用             

  fun()   调用 

闭包:  1、在一个函数里定义另外一个函数

     2、里面的函数用到了外部函数的参数

     3.  返回内部函数的引用

def out(num):

  def inner(a):

    return num+a

  return inner         返回内部函数的地址

fun = out()  相当于调用函数out ,然而函数out的执行结果是返回内部函数的地址,所以fun 这个 变量里 就存了内部 函数 的地址。

fun(4)就是执行内部函数   


修改外部函数的变量

在py3 中

def count(start):

  def inner():

    nolocal start

    start += 1

    print(start)

  return inner

在py2中

def  count(start):

   start = [start]

  def inner():

    start[0] += 1

    return start[0]

 

转载于:https://www.cnblogs.com/lvhonglei-python/p/7587014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值