ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

四十九、python 进阶 装饰器

2021-09-04 11:01:56  阅读:146  来源: 互联网

标签:map 进阶 python 四十九 一个 test 实参 装饰 函数


装饰器总结

什么是装饰器?

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

 

装饰器有什么用?

  1. 增强函数的功能

 

装饰器使用场景

  1. 增加被装饰函数的行为
  2. 代码复用

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

函数的重要特性

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

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

 

 

 

 

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

 

 

 

 

 

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

 

 

 

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

 

 

 

 

 

 

 

 

 

 

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

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


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

map函数接受两个参数:

 

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

 

 

 

 

 

 

装饰器

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

 

 

 

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

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

 

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

 

 

 

 

标签:map,进阶,python,四十九,一个,test,实参,装饰,函数
来源: https://www.cnblogs.com/jdjdjd/p/15226050.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有