您的位置:首页 > 编程语言 > Python开发

python动态语言特性小结

2010-06-17 16:45 435 查看
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中进行传递

当参数对象为字典型的时候是传递引用的,普通参数如int型是传递值的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: