装饰器,生成器

装饰器

  作用:

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

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

  实例: 

  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循环获取

猜你喜欢

转载自www.cnblogs.com/shy-123/p/10841756.html