反射主要就是讲了几个内置函数:
hasattr(obj, str)
后面跟两个参数一个是类实例化产生的对象,一个是任意字符串,这个方法会判断这个obj对象是否拥有str这个方法(或者属性),如果有,就返回True,如果没有,就返回False

getattr(obj, str)
这个函数则会获得obj对象的名为str的方法或者属性的内存地址,可能这句话有些难理解咱们可以分段理解(obj对象)的(名为str的方法或者属性)的(内存地址),就是获得str同名函数或者属性的内存地址,如果str为函数名,那么加括号就可以调用,如果是属性名,那么直接就可以调用

setattr(obj, str, attr)
这个函数则可以将attr(属性或者函数设定给obj对象)

之后这个属性或者函数的名字为str
delattr(obj, str)
删除这个对象所拥有的属性或者函数

转载请注明出处
python自学技术互助扣扣群:670402334
网友评论