• Python开发——函数【装饰器、高阶函数、函数嵌套、闭包】


    装饰器

    • 装饰器本质就是函数,为其他函数添加附加功能。
    • 原则
    1. 不修改被修饰函数的源代码
    2. 不修改被修饰函数的调用方法
    • 装饰器知识储备:装饰器 = 高阶函数 + 函数嵌套 + 闭包

    案例:求函数运行时间!

     1 # 普通:求函数运行时间
     2 def cal(l):
     3     start_time = time.time()
     4     res = 0
     5     for i in l:
     6         time.sleep(0.1)
     7         res+=i
     8     end_time = time.time()
     9     print('函数运行时间是%s'%(end_time-start_time))
    10     return res
    11 print(cal(range(20)))   # 函数运行时间是2.008193016052246  190

    装饰器:求函数运行时间!

     1 import time
     2 def timmer(func):
     3     def wrapper(*args,**kwargs):
     4         start_time=time.time()
     5         res=func(*args,**kwargs)
     6         stop_time = time.time()
     7         print('函数运行时间是%s' %(stop_time-start_time))
     8         return res
     9     return wrapper
    10 
    11 
    12 @timmer
    13 def cal(l):
    14     res=0
    15     for i in l:
    16         time.sleep(0.1)
    17         res+=i
    18     return res
    19 
    20 res=cal(range(20))
    21 print(res)

    高阶函数

    定义:

    1. 函数接收的参数是一个函数名
    2. 函数的返回值是一个函数名
    3. 满足上述条件任意一个,都可称之为高阶函数

    函数嵌套

    • 函数里面重新定义函数

     函数嵌套及作用域

    闭包函数

     函数作用域的一种体现

  • 相关阅读:
    HAOI2015 树上染色
    HAOI2010 软件安装
    T2 Func<in T1,out T2>(T1 arg)
    事无巨细
    LitJson JavaScriptSerializer
    数据库操作
    jQuery:总体掌握
    sql一个题的解法分析讲解
    Javascript系列:总体理解
    c#
  • 原文地址:https://www.cnblogs.com/yuanlili/p/8650538.html
Copyright © 2020-2023  润新知