码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器

时间:2019-05-09 23:57:46      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:print   pre   通过   sleep   之间   生成式   输入   next   *args   

装饰器

  作用:

    用于扩展原函数功能的一种函数

    将被装饰函数函数作为参数传入,装饰器内部定义一个函数,内部函数的作用是调用被装饰函数,定义新功能,为被装饰函数传递参数,最后要返回定义的函数

  实例: 

  import time
  def func2(fun):
  def func3(*args,**kwargs):
   print(‘输入数据是‘,args)
  fun(*args,**kwargs)
   return func3

  @func2
  def func(a, b):
   print("hello,here is a func for add :")
   time.sleep(1)
   print("result is %d" % (a + b))

  func(2,5)

生成器

  通过边循环边计算的方式生成列表,避免一次创建列表占用大量内存的问题

  注意列表生成式和生成器之间的差别:

    l=[x*x for x in range(10)]    #列表生成式,一次创建列表,占用内存

    g=(x*x for x in range(10))   #生成器,通过next(g)或for循环获取

装饰器

标签:print   pre   通过   sleep   之间   生成式   输入   next   *args   

原文地址:https://www.cnblogs.com/shy-123/p/10841756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!