zoukankan      html  css  js  c++  java
  • 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. 满足上述条件任意一个,都可称之为高阶函数

    函数嵌套

    • 函数里面重新定义函数

     函数嵌套及作用域

    闭包函数

     函数作用域的一种体现

  • 相关阅读:
    margin负值的应用
    css书写顺序和常用命名推荐
    CSS Hack代码与浏览兼容总结
    高效css选择符
    高级css选择器
    css透明背景兼容方案
    height设置100%不起作用
    deepin安装Motrix,cocomusic
    linux关闭ipv6
    关于text-align无法居中的问题
  • 原文地址:https://www.cnblogs.com/yuanlili/p/8650538.html
Copyright © 2011-2022 走看看