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

 更新时间:2021年09月04日 11:12:40   作者:Memoryfragment  
这篇文章主要介绍了python 进阶学习之python装饰器小结,本文通过场景分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

装饰器总结

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

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

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

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

函数的重要特性

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

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

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

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

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

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

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

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

map函数接受两个参数:

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

装饰器

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

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

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

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

改 进:

到此这篇关于python 进阶学习之python装饰器小结的文章就介绍到这了,更多相关python 装饰器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 记一次pyinstaller打包pygame项目为exe的过程(带图片)

    记一次pyinstaller打包pygame项目为exe的过程(带图片)

    这篇文章主要介绍了记一次pyinstaller打包pygame项目为exe的过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Opencv图像处理之详解掩膜mask

    Opencv图像处理之详解掩膜mask

    这篇文章主要介绍了Opencv图像处理之详解掩膜mask,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python numpy 矩阵堆叠实例

    python numpy 矩阵堆叠实例

    今天小编就为大家分享一篇python numpy 矩阵堆叠实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python3如何获取子线程中函数返回值

    python3如何获取子线程中函数返回值

    这篇文章主要介绍了python3如何获取子线程中函数返回值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python里隐藏的“禅”

    Python里隐藏的“禅”

    这篇文章主要介绍了IT柏拉图翻译的python的lib目录下this.py文件中的一首诗,蕴含了Python程序设计中很多哲理性的规律,需要的朋友可以参考下
    2014-06-06
  • 如何安装并在pycharm使用selenium的方法

    如何安装并在pycharm使用selenium的方法

    这篇文章主要介绍了如何安装并在pycharm使用selenium,本文给大家提到了selenium安装并导入pycharm的教程,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Python网页正文转换语音文件的操作方法

    Python网页正文转换语音文件的操作方法

    这篇文章主要介绍了Python网页正文转换语音文件的操作方法,需要的朋友可以参考下
    2018-12-12
  • 关于Django显示时间你应该知道的一些问题

    关于Django显示时间你应该知道的一些问题

    将Django项目部署到Linux系统上进行测试时,发现操作记录的时间与服务器的时间不一致,相差13个小时。这主要是因为时区的问题,下面这篇文章主要总结介绍了关于Django显示时间你应该知道的一些问题,需要的朋友可以参考下。
    2017-12-12
  • Python 正则表达式实现计算器功能

    Python 正则表达式实现计算器功能

    本篇文章主要介绍了Python 正则表达式实现计算器功能的示例。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题

    Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题

    这篇文章主要介绍了Python3中内置类型bytes和str用法及byte和string之间各种编码转换问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09

最新评论