当前位置 博文首页 > 文章内容

    python 进阶学习之python装饰器小结

    作者:shunshunshun18 栏目:未分类 时间:2021-09-04 14:44:23

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    装饰器总结

    什么是装饰器?处理函数的函数,加一个功能,但是不影响原来函数的内部结构生活中的例子:给手机加一个外壳,外壳保护了手机

    装饰器有什么用?增强函数的功能

    装饰器使用场景增加被装饰函数的行为代码复用

    一个函数接收另一个函数作为参数,这种函数称之为高阶函数。

    函数的重要特性

    1.在python中,一切皆为对象,所以函数也是一个对象,从而函数可以赋值给变量。

    定义一个add函数,函数的功能是实现两个数相加

    系统为函数分配了一个内存地址:0x00000000021B3798

    2.一个函数可以作为另一个函数的返回值

    3.一个函数可以嵌套定义在另一个函数中

    4.一个函数可以作为另一个函数的实参。

    先来了解一下map函数
    map函数是根据指定函数对指定序列做映射,可以有效提高程序运行效率。

    看一下map函数的源码:map(func, *iterables)

    map函数接受两个参数:

    func:指定函数函数
    iterables:可迭代对象,一个序列或者多个序列,即函数对应的实参

    装饰器

    想要实现一个功能,在不改变 test 函数内部结构的前提下,在前面加一句 “少壮不努力”

    弄清楚了装饰器的工作原理:

    • 写一个高阶函数,即参数是函数,返回的也是函数;上面的例子,传函数 test 作为实参,最后返回函数 test ;
    • 在利用语法糖@,简化赋值操作;

    但这样的代码是有缺陷:test 函数直接返回了函数名,这样后面就不好调用了。

    改 进: