Day14零基础入门python第020讲课后测试题及答案:内嵌函数和闭包

0.如果希望在函数中改变全局变量的值,应该使用什么关键字?
   global
1.在嵌套的函数中,如果希望在内部函数修改外部函数的局部变量,应该使用什么关键字?
   nonlocal
2.python的函数可以嵌套,但是要注意一下访问的作用域问题哦,请问一下代码存在什么问题?
   def outside():
         print('I am outside!')
         def inside():
               print('I am inside!')

   inside()

访问的作用域问题,outside可以调用inside,但是不能从外面或者别的函数体里调用

3.请问为什么代码A没有报错,但是代码B却报错了?赢如何修改

代码B改为:

因为代码B中,变量var没有被定义就拿来使用,所以报错
outside()函数中有一个var,inside()函数中也有一个var,python为了保护变量的作用域,故将outside()的var变量屏蔽起来,因此此时是无法访问到外层的var变量的

4.请问如何访问funIn()呢?
def funOut():
      def funIn():
            print('宾果!你成功访问到我啦!')
      return funIn()


直接访问funOut(),因为返回的是funIn()函数

5.请问如何访问funIn()呢?
def funOut():
      def funIn():
            print('宾果!你成功访问到我啦!')
      return funIn
这里需要用funOut()()访问
也可以曲线救国,go = funOut() ,然后访问go()

6.以下是闭包的一个例子,请你目测会打印什么内容?

动动手:
0.统计下边这个长字符串中各个字符出现的次数并找到小甲鱼送给大家的一句话

1.请用已经学过的只是编写程序,找出小甲鱼藏在下边这个长字符串中的密码,密码的埋藏点符合以下规律:
    a)每位密码为单个小写字母
    b)每位密码的左右两边均有且只有三个大写字母

参考:

https://blog.csdn.net/qq_41556318/article/details/84138388

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值