Python 实践--混入类
Mix-in:混入类是一种Python程序设计中的技术,作用是在运行期间动态改变类的基类或类的方法,从而使得类的表现可以发生变化。可以用在一个通用类接口中。
在实践一个 解析XML文件的实践中,体会动态改变的格式。
格式一般是:
定义一个基类:
class base:
def startElement(self,prefix,name,*args):
self.callback('Start',name,*args)
def callback(self,prefx,name,*args):
mname = prefix + name
method = getattr(self,mname,None)
if callbale(method): method(*args)
然后定义一个子类,在里面实现prefix+name的方法。
处理xml的内置库:
from xml.sax.hander import ContentHandler
from xml.sax import parse
parse('xmlfile', instanceofContentHandler)
from os import path __metaclass__ = type class Dispatcher: def dispatch(self,prefix,name,attrs=None): class Sub_Dispatcher(Dispatcher,ContentHandler): def endPage(self): |
最新文章
- AngularJs之一
- android Handler.btionMessage()与Message.obtain()的区别
- 验证码的种类与实现 C#封装类 - .NET MVC WEBFORM
- c++ const总结
- etrace 跟踪程序函数动态执行流程
- c# 学习笔记(三)
- 【移动开发】Android中将我们平时积累的工具类打包
- 1.jdk、Tomcat、solr的安装和配置
- js之ECMAscript
- 提示让IE8以下版本的浏览器去更新浏览器
- C++格式化输出,C++输出格式控制
- 2018 Unite大会——《使用UPA工具优化项目》演讲实录
- cxf 整合 spring 时 java.lang.VerifyError异常
- centos7系统部署cobbler批量安装系统
- [物理学与PDEs]第5章习题5 超弹性材料中客观性假设的贮能函数表达
- hadoop day 7
- idea不显示gradle的视图解决办法
- JDBC事务(一)
- vim自动补全头注释与说明
- 2017-9-3模拟赛T1 卡片(card)