• python之hasattr、getattr和setattr函数


    hasattr函数使用方法
     1 # hasattr函数使用方法
     2 # hasattr(object,attr)
     3 # 判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False
     4 class person():
     5     '''测试类'''
     6     name = 'mike'
     7     age = '25'
     8 
     9     def say(self):
    10         '''测试方法'''
    11         return 'hello!'
    12 
    13 
    14 per = person()
    15 has_name = hasattr(per, 'name')
    16 has_sex = hasattr(per, 'sex')
    17 has_say = hasattr(per, 'say')
    18 print('1.是否有name属性:', has_name)
    19 print('2.是否有sex属性:', has_sex)
    20 print('3.是否有say方法:', has_say)

    运行结果:

    1.是否有name属性: True
    2.是否有sex属性: False
    3.是否有say方法: True
    

      

    getattr函数使用方法
     1 # getattr函数使用方法
     2 # getattr(object,attr[,default])
     3 # 获取对象的属性或方法,可设置输出默认值,
     4 # 如果获取方法,返回的是内存地址,如果需要运行,后面添加一对括号
     5 has_name = getattr(per, 'name')
     6 has_sex = getattr(per, 'sex', 'male')
     7 has_say = getattr(per, 'say')()
     8 print('1.name属性:', has_name)
     9 print('2.sex属性不存在,返回默认值:', has_sex)
    10 print('3.say方法执行结果:', has_say)

    运行结果:

    1.name属性: mike
    2.sex属性不存在,返回默认值: male
    3.say方法执行结果: hello!
    
    setattr函数使用方法
    1 # setattr函数使用方法
    2 # setattr(object,attr,values)
    3 # 给对象的属性赋值,若属性不存在,则先创建再赋值
    4 setattr(per, 'name', 'Tom')
    5 print('1.修改name属性:', per.name)
    6 setattr(per, 'id', '6557')
    7 print('2.创建id属性:', per.id)

    运行结果:

    1.修改name属性: Tom
    2.穿件sex属性: 6557
    

      

  • 相关阅读:
    【Xshell】基本使用-连接远程服务器 | 传输文件
    【Shell】在windows10环境下安装xshell-绿色破解版(解压后,直接使用)
    【windows10】由于找不到msvcr100.dll,无法继续执行代码
    英语单词正音
    汉字正音
    怎样快速阅读一本书
    “做教练”之好声音训练
    “做教练”之硬笔书法
    2017-2018-1学期《程序设计与数据结构》教学进程
    Java Collections 源码分析
  • 原文地址:https://www.cnblogs.com/gongxr/p/7529956.html
Copyright © 2020-2023  润新知