好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python【day 11】闭包

 闭包    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】闭包的详细内容...

  阅读:20次