主要有四个成员。getattr、hasattr、setattr、delattr 获取成员、检查成员、设置成员、删除成员
'''一个简单的例子'''
# 定义一个symbol类,有a,b,c三个方法。
class Symbol(object):
def a():
pass
def b():
pass
def c():
pass
# 输入方法名,执行对应方法。
S = Symbol()
method = input('input method name:').strip()
if hasattr(Symbol,method): # 判断是否存在输入的方法名
getattr(Symbol,method) # 如果存在则运行方法
else:
print("Error!Not Found!")下面是使用__import__导入模块的例子:
相同目录导入
import commons
__import__('commons')
多层目录导入
from list.text import commons
__import__(' list.text.commons',fromlist=True) #如果不加上fromlist=True,只会导入list目录
而在使用的时候也可以动态输入模块名!
def main():
imp = input('input model name:') # 输入模块名
med = input('input method name:') # 输入方法名
print(imp ,med )
try:
obj = __import__(imp ) #导入该模块
print(obj)
if hasattr(obj,med): #判断有没有这个方法
fuc = getattr(obj,med) #获得这个方法
fuc()
else:
print('Error not found method!')
except:
print('Error not found model!')
if __name__ == '__main__':
main()以上就是常见用法了。
原文:http://blog.51cto.com/yishi/2072391