pyython之反射机制

【导入模块方式】

单层导入:

import os

__import__('os')

多层导入:

from util.excel import excel

__import__('util.excel.excel',fromlist=True) #如果不加上fromlist=True,只会导入list目录

【反射方式】

反射即想到4个内置函数分别为:getattr、hasattr、setattr、delattr  获取成员、检查成员、设置成员、删除

class Person(object):
    def __init__(self):
        self.name="zhangsan"

    def age(self):
        print ("this is father's age")

    def sex(self):
        print ("this is father's sex")




if __name__ == '__main__':

        obj=Person()
        #获取的是个对象
        sex=getattr(obj,'sex')
        sex()
        #判断对象是否存在
        result=hasattr(obj,'sex')
        print (result)
        #设对象值
        setattr(obj,'name',"lisi")
        print (obj.name)
        #删除对象值
        delattr(obj,'name')
        try:
            print (obj.name)
        except:
            print ("delect success")

运行结果:

this is father's sex
True
lisi
delect success
[Finished in 0.4s]

猜你喜欢

转载自blog.csdn.net/qq_35577990/article/details/91307914