闭包 1、闭包的概念: 嵌套函数中,父级函数的变量,在子集函数中用到了(访问、修改、返回),那么这个变量就被保护起来了 只有自己可以修改,父级函数()()就是闭包函数 2、闭包的特点: 1、常驻内存 2、保护变量(只能自己修改,别人无法修改) 3、闭包解决的问题: 全局变量,别的同学也有可以修改,只需要在函数内存变量前加上global就可以修改全局变量 全局变量: 优点是:常驻内存 缺点是:大家都可以修改-不安全 局部变量: 优点是:只有自己可以访问和修改-安全 缺点:无法常驻内存,别的同学无法访问 如何让一个变量既可以常驻内存,又只能自己才能修改呢,引入闭包函数 4、闭包的写法: def outer(): a = 10 def inner(): print(a) return a return inner ret = outer() #返回的是inner函数的内存地址 ret() #就是闭包函数 5、闭包的应用 1、爬虫 爬取网页的时候,通过网络访问网页后,将网页爬取的内容存到变量中,下次直接分析变量 比每次都访问网络,要更高效 2、写法 from urllib.request import urlopen def outer(): content = urlopen(‘https://www.baidu.com/‘).read() def inner(): print(content) return content return inner ret = outer() #这里返回的是inner函数的内存地址 print(ret()) #这里就是content(被保护起来的变量,常驻内存,只能自己修改) #ret()是闭包函数
查看更多关于Python【day 11】闭包的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did170781