python装饰器的作用,我是这么理解的,

比如本来已经有几个写好的函数,这几个函数的返回值都是list,现在我想要它们都返回str型的值,一个个改函数太累,也容易出错,装饰器能解决这样的问题,它能对n个函数进行编程

def square(func):

#返回平方

def _deco(a, b):

rtn = func(a, b)

return rtn * rtn

return _deco

@square

def my_add(a, b):

return a+b

print my_add(1,2)

# 原来的几个返回list的函数,具体干嘛不管,示例用

def even_element(lst):

return [n for n in lst if n%2 == 0]

def odd_element(lst):

return [n for n in lst if n%2 == 1]

def link_list(lst1, lst2):

l = deepcopy(lst1)

l.extend(lst2)

return l

a = range(5)

b = range(10)

print even_element(a)

print odd_element(a)

print link_list(a, b)

from copy import deepcopy

# 用装饰器

def list_to_str(func):

def wrapper(*args, **kwargs):

rtn_lst = [str(n) for n in func(*args, **kwargs)]

return ','.join(rtn_lst)

return wrapper

# 此时这些函数都返回str型

@list_to_str

def even_element(lst):

return [n for n in lst if n%2 == 0]

@list_to_str

def odd_element(lst):

return [n for n in lst if n%2 == 1]

@list_to_str

def link_list(lst1, lst2):

l = deepcopy(lst1)

l.extend(lst2)

return l

a = range(5)

b = range(10)

print even_element(a)

print odd_element(a)

print link_list(a, b)

带参数的装饰器

# encoding: utf-8

import time

'''

现实函数运行时间

参数run_times为被测函数运行次数

'''

def time_func(run_times):

def _time_func(func):

def wrapper(*args, **kwargs):

t1 = time.time()

for n in xrange(run_times):

rtn = func(*args, **kwargs)

t2 = time.time()

print t2 - t1

return rtn

return wrapper

return _time_func

@time_func(10000)

def addd(a, b):

return a+b

print addd(1,2)

python装饰器作用-Python 装饰器的作用相关推荐

  1. python中装饰器的作用_Python装饰器详解,详细介绍它的应用场景

    装饰器的应用场景附加功能 数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改为函数提供额外的数据 moc ...

  2. python装饰器作用-Python装饰器用法实例总结

    一.装饰器是什么 python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.简单的说装饰器就是一个用来返回函数的函数 ...

  3. Python:闭包(简介、使用方法、nonlocal修改闭包内使用的外部变量)、装饰器(定义、作用、通用装饰器、多个装饰器、带参数的装饰器、类装饰器、装饰器方式添加WEB框架的路由)

    一.闭包的介绍 闭包可以保存函数内的变量 当闭包执行完毕,外部函数的变量才释放. # 闭包的作用:可以保存外部函数的变量 # 闭包的形成条件 # 1.函数嵌套 # 2.内部函数使用了外部函数的变量或者 ...

  4. 从懵懂到精通装饰器在python里的作用

    一直想详细系统的总结一下decorator装饰器在python里面的作用.顾名思义,装饰器是用来装试的,好比一个房子,没有软装能不能住,能住,但膈不膈应,十分的膈应.所以没有装饰器,python依然可 ...

  5. python中修饰器的优点和作用_python 装饰器

    1. 装饰器装饰器其实是一个函数,作用是装饰其他函数 装饰器的特点:1. 不改变被装饰的函数的源代码的情况下添加函数的功能 2. 不改变被装饰的函数的调用方式 装饰器的组成方式:高阶函数+嵌套函数 1 ...

  6. python中修饰器的优点和作用_Python装饰器(你想知道的这里都有)

    1. 装饰器的定义 就是给已有函数增加额外功能的函数,它本质上就是一个闭包函数. 装饰器的功能特点: 不修改已有函数的源代码 不修改已有函数的调用方式 给已有函数增加额外的功能 闭包和装饰器的区分: ...

  7. python函数装饰函数_Python精进-装饰器与函数对象

    本文为<爬着学Python>系列第四篇文章. 从本篇开始,本专栏在顺序更新的基础上,会有不规则的更新. 在Python的学习与运用中,我们迟早会遇到装饰器,这个概念对于初识装饰器的新手来说 ...

  8. Python 进阶_闭包 amp; 装饰器

    目录 目录 闭包 函数的实质和属性 闭包有什么好处 小结 装饰器 更加深入的看看装饰器的执行过程 带参数的装饰器 装饰器的叠加 小结 装饰器能解决什么问题 小结 闭包 Closure: 如果内层函数引 ...

  9. python基础知识-11-函数装饰器

    python其他知识目录 1.装饰器学习前热身准备 1.1装饰器简介 1.2装饰器热身分析 1) def func():pass v1 = 10 v2 = func #将函数名赋予一个变量,就和变量赋 ...

  10. python装饰器函数-Python精进-装饰器与函数对象

    本文为<爬着学Python>系列第四篇文章. 从本篇开始,本专栏在顺序更新的基础上,会有不规则的更新. 在Python的学习与运用中,我们迟早会遇到装饰器,这个概念对于初识装饰器的新手来说 ...

最新文章

  1. 《2022产业互联网安全十大趋势》发布,专家学者透析产业安全新变化
  2. ​新型支架状电极允许人类思想操作计算机
  3. 什么是CNN?机器学习入门贴,Facebook员工打造,47k访问量
  4. c#解决在数据表格中无法显示秒数问题
  5. Apache Ignite事务架构:第三方持久化的事务处理
  6. LeetCode 144 ——二叉树的前序遍历
  7. 自动化学报-英文版-LaTeX模板
  8. 漂亮的英文字体 android,资深字体设计师私藏的10大APP,只怪你知道的太晚 !
  9. 图解详说pads2007安装全过程(经过验证)
  10. mysql安装方法及使用
  11. PCB封装绘制时的摆放方向
  12. 美国国家安全局(NSA)网络攻击主战武器NOPEN
  13. 微信小程序学习笔记4
  14. python小数乘法计算题_100道小数乘法计算题
  15. 《面试补习》--来聊聊削峰填谷!
  16. RT-Thread柿饼常用应用代码汇总
  17. 淘宝怎么寄东西到日本?如何在日本购买国内淘宝上的物品呢?
  18. IDEA自带插件的实体生成详细教程,离线情况下如何导入MySQL的驱动
  19. 论文写作 18: 审稿意见回复要直截了当
  20. ERP系统常用SQL集锦(转, 一个网友写的,感觉有点虎头蛇尾,不过还是有价值参考)...

热门文章

  1. 微软算法100题58 从尾到头输出链表(java)
  2. LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  3. silverlight, 双击事件
  4. 对GET/POST请求返回cookie中的键值对进行重新组合
  5. 正则在开发过程中的妙用
  6. TCP连接建立与终止,及状态转换
  7. agc015F Kenus the Ancient Greek
  8. Selenium查询10010账户余额——python篇
  9. Cordys服务器启停脚本
  10. [转]js escape,encodeURI,encodeURIComponent