Python 对象反射

对象的反射,主要为 hasattr, getattr,setattr,delattr 

class Stocker:

    def __init__(self):
        self.name='1STK0100'
        self.fab='Array'

    def run(self):
        print('move cst')

stk=Stocker()

"""hasattr 用于判断对象里面是否包含指定的属性,返回 boolean 值"""
flag=hasattr(stk,'name')
flag=hasattr(stk,'run')

""" getattr 用于获取对象里面指定的属性,有则返回该属性值,没有则报错或返回指定的值"""
val=getattr(stk,'name1','如果没有这个属性就返回指定的值')
getattr(stk,'run')()

"""setattr 用于给对象设置新的属性并赋值"""
setattr(stk,'crane','RM01')

"""delattr 删除对象的属性"""
delattr(stk,'name')

 

 

利用反射来进行模块的动态导入  importlib 

import  importlib

""" hello为 包下面的一个模块文件 """
module=importlib('package.hello')

""" test为 hello模块里面的一个方法"""
module.test()

 

posted @ 2020-11-18 22:01  leungqingyun  阅读(53)  评论(0)    收藏  举报