Python 学习笔记-第14讲:面向对象-装饰器
一、装饰器
利用闭包封存上下文的特性可以巧妙地对现有函数进行包装,为现有函数增加功能,这就是装饰器。
1. 装饰器的语法糖:
在要包装的函数前添加@xxx。
例如:
@checkParams
def add(a, b):
return a + b
等效于 checkParams(add)
2. 装饰器嵌套
可以为函数设置多个装饰器,形成嵌套结构。
@wrapper2
@wrapper1
def foo():
print 'foo'
装饰器就像是一个俄罗斯套娃,把被装饰的方法当成最小的一个娃娃,封装在最内层,外面一层一层的嵌套装饰器。
嵌套装饰器的调用关系图如下:
装饰器优秀博客:
https://www.cnblogs.com/Eva-J/p/4977823.html
二 、XML 解析
Json 比 xml 结构更为简单
xml解析:
1.dom(文档对象模型) :把解析的xml整个加载到内存,组织成object树。
w3cDom dom4j
2.sax:事件驱动式解析,不会在内存中加载整个文档,只会根据自己编写的事件保存数据。
3.elementTree解析