Python中的装饰器详细介绍
admin
2023-06-25 21:42:14
0次

  Python 装饰器

  一、装饰器定义

  二、装饰器知识储备

  三、高阶函数

  1.高阶函数定义:

  2.高阶函数的示范

  3.高阶函数的总结

  四、函数嵌套

  五、闭包

  Python 装饰器

  一、装饰器定义

  装饰器本质就是函数,功能是为其他函数添加附加功能

  原则:

  1)不修改被修饰函数的源代码

  2)不修改被修饰函数的调用方式

  二、装饰器知识储备

  装饰器 = 高阶函数 + 函数嵌套 + 闭包

  三、高阶函数

  1.高阶函数定义:

  函数接受的参数是一个函数名

  函数的返回值是一个函数名

  满足上述条件任意一个都可以称之为高阶函数

  2.高阶函数的示范

  把函数当做参数传给高阶函数

  import time

  def foo():

  time.sleep(1)

  print('你好刘力菲')

  def test(func):

  print(func)

  start_time = time.time()

  func()

  stop_time = time.time()

  print('函数运行时间是 %s' % (stop_time - start_time))

  foo()郑州人流多少钱 http://www.hnmt120.com/

  test(foo)

  可以看到foo函数又在test函数中执行了一遍

  3.高阶函数的总结

  函数接受的参数是一个函数名

   作用:在不修改函数源代码的前提下,为函数添加新功能

   不足:会改变函数的调用方式

  函数的返回值是一个函数名

   作用:不修改函数的调用方式

   不足:不能添加新功能

  四、函数嵌套

  函数嵌套就是在函数里面在定义函数

  def func():

  pass

  def func1():

  pass

  def func2():

  pass

  pass

  五、闭包

  在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包

  例子

  def func(a):

  aa=11

  def func1():

  c=a+aa

  print(c)

  return func1

  使用闭包的过程中,一旦外函数被调用一次返回了内函数的引用,虽然每次调用内函数,是开启一个函数执行过后消亡,但是闭包变量实际上只有一份,每次开启内函数都在使用同一份闭包变量

  def outer(x):

  def inner(y):

  nonlocal x

  x+=y

  return x

  return inner

  a=outer(100)

  print(a(50))

  print(a(100))


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...