class Foo(): def __init__(self,name): self.name=name def text(self): return 123 f=Foo(1) ‘‘‘ hasattr(obj,name) 判断一个对象里面是否有name属性,或者name方法,返回bool值,有name特性返回Ture,否则 返回FALSE 注意:name需要引号‘‘‘ print(hasattr(f,‘name‘)) print(hasattr(f,‘text‘)) print(hasattr(f,‘self.name‘)) print(hasattr(f,‘__init__‘)) ‘‘‘ getattr(obj,name,[default]) 获取对象的属性或方法,如果存在,则返回它的属性值,如果不存在则会报错,也可以设置一个 默认值,也会返回这个默认值;如果是对象的方法,则返回一个方法函数的内存地址, 如果想要运行它,可以在后面添加()以及参数‘‘‘ print(getattr(f,‘name‘)) print(getattr(f,‘text‘)()) print(getattr(f,‘__init__‘)(‘lll‘)) print(getattr(f,‘ssss‘,11)) ‘‘‘ setattr(obj,name,value) 更改属性的值,如果属性不存在,会创建一个属性,然后赋值,如果更改的是方法,他将 把方法更改为属性,并为其赋值 ‘‘‘ print(setattr(f,‘age‘,‘18‘)) print(setattr(f,‘name‘,‘ldq‘)) print(setattr(f,‘text‘,‘fun‘)) print(getattr(f,‘age‘)) print(getattr(f,‘name‘)) print(getattr(f,‘text‘))