python里简单理解闭包的作用
1、闭包又叫词法闭包或函数闭包。比较高深的样子简单说就是函数的嵌套--函数里面嵌套另一个函数。目的:为了利用以前写好的函数,给它穿一个马甲,瓤没变,加个壳子包装一下(个人浅薄的理解)。
2、例子1:#pingjia是以前写好的函数,需要加个马甲 流浪地球或疯狂的外星人#cinema实际就是pingjiadef majia(n): if (n==1): print("流浪地球", end="") #end=""表示不换行 else: print("疯狂的外星人", end="") def pingjia(m): #闭包 函数里嵌套的函数就是闭包 if (m == 1): print(" 好电影") else: print(" 一般电影") return pingjia #返回值不带参数print("大年初一看电影:")cinema = majia(1) #cinema 实际就是pingjiacinema(1) #对应闭包也要参数!
3、例子2:#pingjia是以前写好的函数,需要加个马甲 流浪地球或疯狂的外星人#cinema实际就是pingjiadef majia(n): if (n==1): print("流浪地球", end="") #end=""表示不换行 else: print("疯狂的外星人", end="") def pingjia(m): #闭包 函数里嵌套的函数就是闭包 if (m == 1): print(" 好电影") else: print(" 一般电影") return pingjia #返回值不带参数print("大年初一看电影:")cinema = majia(0) #cinema 实际就是pingjiacinema(0) #对应也要参数!