Python基础(18)——函数闭包和装饰器

装饰器

  装饰器本质就是函数,类似迭代器、生成器。装饰器就是修饰其他函数,为其他函数添加附加功能

  功能实现,就是把函数扔到另个函数内部晃荡一圈,自身没改变,但是另个函数的功能在中间的时候实现了。

  原则:1、不修改被修饰函数的源代码  2、不修改被修饰函数的调用方式               添加新功能,原函数该是什么样还是什么样

  开放封闭原则:一旦程序运行了,比如视频网站正在运行,那么想要添加新功能,又不能关站,现在程序源代码是稳定的,就是封闭的不需要改的,如果修改可能会引起连锁问题。那么开放的原则就是用修饰器来添加新功能

  装饰器=高阶函数+函数嵌套+闭包

高阶函数

  一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数。

  1、函数接收的参数是一个函数名     2、函数的返回值是一个函数名  满足任意一个就是高阶函数

  高阶函数满足不了装饰器的功能,因为高阶函数会在中间执行一遍函数,这样的话 函数就等于执行了两遍

函数嵌套

  是在函数中又定义了一个函数,叫函数嵌套

猜你喜欢

转载自www.cnblogs.com/dayouge/p/11138119.html