Python自动化运维开发- - - - -基础(十七)类的反射

  

需求:

因为最近在看python脚本脚本获取甲骨文数据库数据进行甲骨文数据库监控,需要用到反射的方式做,去通过传参调用不同函数去获取不同的数据库状态(python2)

# !/usr/bin/python   类Exucutsql(对象):   def状态(自我):   打印(“活跃”)   def db(自我):   print (“100”)   类主要(Exucutsql):   def __init__(自我):   通过   def __call__(自我):   方法=raw_input(“请输入方法:”)   如果hasattr(自我、方法):   func=getattr(自我,方法)   函数()   其他:   打印(“输入法不是出口”)   if __name__==癬_main__”:   Main ()

说明:输入相应方法名会调用不用的方法

python类中的特殊方法

__call__()方法会当作一个函数去执行

hasattr()方法会判断在类中是否存在方法

getattr()方法会去调用执行相应的函数名方法(解决了过多的如果判断的问题)

Python自动化运维开发- - - - -基础(十七)类的反射