python动态语言特性小结

发布时间:2019-08-01 17:27:37编辑:auto阅读(1621)

    python 动态语言特性
     A.动态模块调用
    如果模块是动态的,
    如从某个配置文件中读取. 那么关于模块的字符串如何转换为代码的import呢,
    下面代码很好解释了这一点
    例子1
    1 sys = __import__('sys')
    2 os = __import__('os')
    3 re = __import__('re')
    4 print sys.path()
    例子2
    1 moduleNames = ['sys', 'os', 're', 'unittest']
    2 modules = map(__import__, moduleNames)
    3 print modules[0].version
    B.函数的动态调用
    关键:python中一切都是对象
    01 def method1(self,A=None):
    02 print "1"
    03 def method2(self,B=None):
    04 print "2"
    05 def method3(self,C=None):
    06 print "3"
    07
    08 controllers = {
    09 'keyword1':method1,
    10 'keyword2':method2,
    11 'keyword3':method3 }
    12
    13 def callfunc(self,funcname=None,params=None):
    14 func = self.controllers.get(funcname, None)
    15 if func:
    16 return func(self,params)
    C.参数动态传入
    关键:字典型对象
    如上例,如果method1中需要传入复杂对象A,method2中需要传入复杂对象A,B 那么如何处理呢。
    一个办法可以搞定,通通传入字典型对象,把A,B放到字典型参数params中进行传递

关键字

上一篇: 利用Python 生成hash值

下一篇: Python XML解析