美文网首页
python中的hasattr,getattr,setattr使

python中的hasattr,getattr,setattr使

作者: agamgn | 来源:发表于2020-02-19 06:51 被阅读0次

前言

 在工作学习中,遇到这三个函数,一直记不到,现在总结如下。

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

总结

本节代码

相关文章

网友评论

      本文标题:python中的hasattr,getattr,setattr使

      本文链接:https://www.haomeiwen.com/subject/wnpqxhtx.html