博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小甲鱼python第二十讲(内嵌函数和闭包)
阅读量:3889 次
发布时间:2019-05-23

本文共 505 字,大约阅读时间需要 1 分钟。

在这里插入图片描述

在这里插入图片描述

内嵌函数

def fun1():    print("fun1正在被调用...")    def fun2():        print("fun2正在被调用..")    fun2()#在fun1()调用fun2()fun1()

闭包

def fun1():    x=5    def fun2():        nonlocal x#不是本地(局部)变量        x *= x        print(x)    return fun2()fun1()

测试题:

在这里插入图片描述
0、global
在这里插入图片描述

1、nonlocal

在这里插入图片描述

2、inside函数是作用在outside里,不可以直接调用出来。

在这里插入图片描述

在这里插入图片描述

答:代码B的inside函数,因为没有定义局部变量var就直接打印,导致找不到变量,报错。
在这里插入图片描述
在这里插入图片描述
之前没用nonlocal时,var是一个局部变量,没有先定义再打印就会报错,但是用了之后,就不是局部变量了,就是一个inside的全局变量,所以顺序就会没有关系。
在这里插入图片描述

def funout():    def funIn():        print("你成功调出funIn")    return funIn()funout()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

转载地址:http://urshn.baihongyu.com/

你可能感兴趣的文章
ZJNUCTF
查看>>
[极客大挑战 2019]BabySQL
查看>>
[ZJCTF 2019]NiZhuanSiWei
查看>>
[BUUCTF 2018]Online Tool
查看>>
[GXYCTF2019]BabySQli
查看>>
BUUCTF_upload-labs 第一题
查看>>
2020暑期集训WEB部分WriteUp
查看>>
[极客大挑战 2019]HardSQL
查看>>
[网鼎杯 2020 青龙组]AreUSerialz
查看>>
Ubuntu上使用docker部署flask项目记录
查看>>
[GXYCTF2019]禁止套娃
查看>>
[安洵杯 2019]easy_web
查看>>
[BJDCTF 2nd]假猪套天下第一
查看>>
使用Ubuntu搭建Web服务器
查看>>
MySQL数据库基本操作
查看>>
Docker简单使用教程
查看>>
Doc
查看>>
[网鼎杯 2020 朱雀组]Nmap
查看>>
[极客大挑战 2019]FinalSQL
查看>>
[NCTF2019]True XML cookbook
查看>>