一道选择题,让我搞懂了嵌套函数的基本运行逻辑

引子

  博主目前就读于河北某一所软件学校,虽然已经有过一段时间的学习,但是在总体上来说,依旧是一位初学者
在这里插入图片描述

  恰巧学校要对我们进行分层(个人还是比较支持这种行为的,因为确实很多人不学的话。对班级的风气影响颇大),以考试+面试的结果分成2个班。
  所以,自认为学的不错的博主,怀揣着想去小班的梦想就踏入了考场(占用了我们为数不多的假期😭😭)
在这里插入图片描述
  因为之前就有了解到是笔试,虽然博主已很长时间没有碰过笔了,但是自认为学的还不错的博主感觉丝毫不慌
在这里插入图片描述
  结果拿到卷子的博主当场傻眼,题不是很难,但是都是一些细节的小地方,如果电脑在手,那自然是不用多说的,可偏偏是笔试,博主不由得开始紧张起来了
在这里插入图片描述
  一些考试的具体细节由于篇幅就不便多说了,总之就是,在经历了一些波折和担惊受怕的几天后,博主还是拿到了一个较为满意的成绩,就等着面试了。
  言归正传,回到本文的主题

正文:一道选择题,让我搞懂了嵌套函数的基本运行逻辑

上题目
在这里插入图片描述
  初看此题时,博主不以为意,并没有注意到老师留下的心机(😽猫头保命),以非常自信的心算能力算出40就填了上去,而且并没有觉得有什么不妥
  直到考试结束,要了原题与答案后,再探此题,慢慢发觉到其中的深意

def f1(a):
    a += 10
    def f2():
        a *= 2
        print(a)
    f2()
f1(10)

  运行直接报错,报错结果为

UnboundLocalError: local variable 'a' referenced 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值