zoukankan      html  css  js  c++  java
  • python函数作用域,闭包,装饰器

    第一:函数作用域:

    L:local     函数内部作用域

    E:enclosing       函数内部与内嵌函数之间(闭包)

    G:global            全局作用域

    B:build_in          内置作用域

     L > E > G > B          优先级比较


     第二:闭包函数:

    定义:如果内部函数引用了外部作用域(不是全局作用域)的变量,那么此时内部函数被称为闭包。

    1 def func1():
    2     a = 10
    3     def func2():
    4         b = 20
    5         return a + b    #引用了外部作用域的变量
    6     return func2
    7 
    8 res = func1()   #调用
    9 res() #30

    注意:闭包函数满足两点

    1,函数内部定义 函数。

    2,引用外部变量而非 全局变量。


    第三:python装饰器:

    装饰器本质是一个python 函数,它可以让其它函数在不需要代码做任何变动的情况下,增加额外的功能。

    应用场景:1,插入日志,2,性能测试,3 事务处理,4,权限校验

     1 import time
     2 
     3 def decorator(func):
     4     def wapper(*args,**kwargs):
     5         start_time = time.clock()
     6         func()
     7         end_time = time.clock()
     8         print(end_time - start_time)  #计算时间
     9     return wapper
    10 
    11 @decorator #装饰器加入
    12 def func():
    13     time.sleep(0.8)
    14 func()  
  • 相关阅读:
    Jquery 学习一
    响应式设计
    微信开发一
    Ajax 技术二
    Ajax 技术一
    SVN版本控制软件
    正则表达式概述
    编写小游戏:贪吃蛇
    POJ 3356 AGTC(DP-最小编辑距离)
    算法模板の字符串处理
  • 原文地址:https://www.cnblogs.com/lvye001/p/9858340.html
Copyright © 2011-2022 走看看