Python学习day13-函数进阶(1)
Python学习day13-函数进阶(1) 闭包函数 闭包函数,从名字理解,闭即是关闭,也就是说把一个函数整个包起来。正规点说就是指函数内部的函数对外部作用域而非全局作用域的引用。 为函数传参的方式有常用有以下两种: 用参数的形式 xxxxxxxxxx 5 1 def func(x): 2 print(x) 3 4 func(1) 5 包给函数 xxxxxxxxxx 11 1 def outter(x): 2 x = 1 3 4 def inner(): 5 print(x) 6 return inner 7 f = outter(1)# outter的返回值为inner所以会执行到print(x) 8 9 f() 10 f() 11 闭包函数的应用 闭包的意义在哪呢,其返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得该函数无论在何处调用的时候,都会优先调用外层包裹的作用域。 其主要应用领域就在于延迟计算和爬虫领域,可以简化代码量,也会使代码更加的稳定。 装饰器 装饰器是一个逻辑上比较复杂的概念,所幸我们并不必追究太深,只需知道其使用方法和大概原理即可。 所以什么是装饰器呢,个人理解装饰器就是包裹在函数外面的另外一个函数,而且装饰器的起到对原函数增加功能的作用,且不影响原函数的调用和存在。 需要注意的是,装饰器本身其实是任意可调用的对象