zoukankan      html  css  js  c++  java
  • getattr、setattr、hasattr

    写一个演示类

    class test():
        title="验证getattr、setattr、hasattr方法"
        def run(self):
            return "run方法的输出"
    
    t=test()

    getattr获取类里面属性、方法:getattr(object, name[,default])

    print('获取对象属性的验证:',getattr(t,'title','需要的属性不存在(默认值)'))
    '''
    1.存在时:输出属性对应的value值
    2.不存时:输出默认值(如果没有设置默认值会报错)
    
    '''
    print('获取对象属性:',getattr(t,'run')) #输出的是内存地址
    '''
    获取对象属性: <bound method test.run of <__main__.test object at 0x03BF64F0>>
    '''
    print('获取对象属性:',getattr(t,'run')()) #输出的是方法体的输出结果
    '''
    获取对象属性: run方法的输出
    '''

    setattr添加属性和修改属性:setattr(object, name,values)

    setattr(t,'describle','setattr添加属性并赋值')
    print(t.describle) #setattr添加属性并赋值
    
    setattr(t,'title','setattr修改原有属性')
    print(getattr(t,'title'))  #验证表示已经存在,返回结果为:setattr修改原有属性

    hasattr添加属性和修改属性:判断一个对象是否有属性和方法

    #hasattr(object,title),判断一个对象是否有name属性或者name方法,返回值为bool值,需要注意的是name需要括起来
    print(hasattr(t,'describle'))  #验证表示已经存在,结果是bool值,结果为True
  • 相关阅读:
    Navicat
    Eclipse 代码质量管理插件
    oracle sql 逻辑处理
    view视图 | 索引
    LIKE模糊查询
    启动tomcat报找不到或无法加载主类
    oracle:decode
    oracle:case when then else end
    ssh 公共秘钥
    ip 和数字之间的转换
  • 原文地址:https://www.cnblogs.com/yangzhizong/p/10933612.html
Copyright © 2011-2022 走看看