前言
在工作学习中,遇到这三个函数,一直记不到,现在总结如下。
hasattr(object, name)
判断一个对象里面是否有name属性或者name方法,返回bool值,有name返回True, 否则返回False。
class demo():
name="agamgn"
def run(self):
return "agamgn hello"
d=demo()
print(hasattr(d,"name"))#True
print(hasattr(d,"run"))#True
print(hasattr(d,"runner"))#False
getattr(object, name[,default])
获取对象object的属性或者方法,如果存在打印出来,如果不存在,打印出默认值,默认值可选。
class demo():
name="agamgn"
def run(self):
return "agamgn hello"
d=demo()
print(getattr(d,"run"))#<bound method demo.run of <__main__.demo object at 0x000001E022C4DE48>>
print(getattr(d,"run")())#agamgn hello
setattr(object, name, values)
给对象的属性赋值,若属性不存在,先创建再赋值。
class demo():
name="agamgn"
def run(self):
return "agamgn hello"
d=demo()
print(hasattr(d,"age"))#False
setattr(d,"age","18")
print(hasattr(d,"age"))#True
网友评论