这篇文章主要讲解了“python装饰器的功能和特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python装饰器的功能和特性”吧!
什么是装饰器?处理函数的函数,加一个功能,但是不影响原来函数的内部结构生活中的例子:给手机加一个外壳,外壳保护了手机
装饰器有什么用?增强函数的功能
装饰器使用场景增加被装饰函数的行为代码复用
一个函数接收另一个函数作为参数,这种函数称之为高阶函数。
1.在python中,一切皆为对象,所以函数也是一个对象,从而函数可以赋值给变量。
定义一个add函数,函数的功能是实现两个数相加
系统为函数分配了一个内存地址:0x00000000021B3798
2.一个函数可以作为另一个函数的返回值
3.一个函数可以嵌套定义在另一个函数中
4.一个函数可以作为另一个函数的实参。
先来了解一下map函数
map函数是根据指定函数对指定序列做映射,可以有效提高程序运行效率。
看一下map函数的源码:map(func, *iterables)
map函数接受两个参数:
func:指定函数函数
iterables:可迭代对象,一个序列或者多个序列,即函数对应的实参
想要实现一个功能,在不改变 test 函数内部结构的前提下,在前面加一句 “少壮不努力”
弄清楚了装饰器的工作原理:
写一个高阶函数,即参数是函数,返回的也是函数;上面的例子,传函数 test 作为实参,最后返回函数 test ;
在利用语法糖@,简化赋值操作;
但这样的代码是有缺陷:test 函数直接返回了函数名,这样后面就不好调用了。
改 进:
感谢各位的阅读,以上就是“python装饰器的功能和特性”的内容了,经过本文的学习后,相信大家对python装饰器的功能和特性这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。