python的装饰器 就是闭包
2017-11-18 16:55
260 查看
def log(func): def wrapper(*args, **kw): print 'call %s():' % func.__name__ return func(*args, **kw) return wrapper b=0 @log def countdown(n): b=0 while n>0: n=n-1 b+=n return b print countdown(10) C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/cookbook/a27.py call countdown(): 45 一个装饰器就是一个函数,它接受一个函数作为参数并返回一个新的函数。装饰器其实就是一个闭包 # !/usr/bin/env python # -*- coding: utf-8 -*- def generate_greeting(prefix): def greeting(name): return prefix, name return greeting # 返回一个全新的函数 a = generate_greeting('aaabbb') print a print type(a) print a('ffff') C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/cookbook/a28.py <function greeting at 0x0258FA30> <type 'function'> ('aaabbb', 'ffff')
相关文章推荐
- python的闭包及装饰器
- Python - 闭包和装饰器
- Python高级 -- 11 闭包、装饰器
- 21.python中的闭包和装饰器
- 详解 Python中LEGB和闭包及装饰器
- Python的闭包和装饰器
- Python闭包的高级应用-装饰器的实现
- python 闭包 装饰器
- python基础 lambda 冒泡 闭包和装饰
- python 高阶函数 map reduce filter sorted 闭包 装饰器
- Python闭包与装饰器
- 详解Python中的装饰器、闭包和functools的教程
- python 闭包,函数,装饰器,语法糖
- python----------闭包 、装饰器
- python的闭包和装饰器的关系
- python核心高级学习总结8------动态性、__slots__、生成器、迭代器、装饰、闭包
- python 装饰器、内部函数、闭包简单理解
- 深入学习python(三) 闭包(Decorator)与装饰器(Closure)
- python基础7之闭包与装饰器
- python 闭包及装饰器