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

作者:Memoryfragment 时间:2023-05-12 07:13:42 

装饰器总结

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

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

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

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

函数的重要特性

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

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

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

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

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

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

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

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

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

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

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

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

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

map函数接受两个参数:

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

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

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

装饰器

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

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

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

  • 写一个高阶函数,即参数是函数,返回的也是函数;上面的例子,传函数 test 作为实参,最后返回函数 test ;

  • 在利用语法糖@,简化赋值操作;

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

改 进:

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

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

来源:https://www.cnblogs.com/jdjdjd/p/15226050.html

标签:python,装饰器
0
投稿

猜你喜欢

  • 手把手教你在Python里使用ChatGPT

    2023-11-10 02:55:58
  • MySQL Redo与Undo日志详细解析

    2024-01-26 04:40:09
  • 在Python的web框架中中编写日志列表的教程

    2021-11-06 05:15:29
  • JavaScript中检测变量是否存在遇到的一些问题

    2023-07-02 05:24:05
  • Python在cmd上打印彩色文字实现过程详解

    2022-12-19 07:27:33
  • Python requests模块用法详解

    2022-02-09 23:00:13
  • PHP 修改SESSION的生存时间案例详解

    2023-06-11 19:44:20
  • js实现多张图片打包成zip

    2024-04-22 22:15:09
  • Python实现改变与矩形橡胶的线条的颜色代码示例

    2022-08-02 08:16:26
  • PHP json_encode中文乱码解决方法

    2023-07-12 20:20:14
  • MySQL如何快速创建800w条测试数据表

    2024-01-19 09:27:28
  • Thinkphp5微信小程序获取用户信息接口的实例详解

    2023-10-26 09:57:08
  • 关于mysql基础知识的介绍

    2024-01-18 10:57:28
  • 微信昵称带符号导致插入MySQL数据库时出错的解决方案

    2024-01-20 23:40:20
  • Python中的元类编程入门指引

    2023-08-02 02:43:44
  • Pytorch中的Broadcasting问题

    2022-10-03 06:26:58
  • python自动化运维之Telnetlib的具体使用

    2022-09-24 22:11:16
  • python中hasattr()、getattr()、setattr()函数的使用

    2022-12-11 20:14:27
  • linux mysql5.5升级至mysql5.7的步骤与踩到的坑

    2024-01-21 17:09:08
  • Python判断文件或文件夹是否存在的三种方法

    2021-04-25 21:53:06
  • asp之家 网络编程 m.aspxhome.com