全面了解Python的getattr(),setattr(),delattr(),hasattr()

 更新时间:2016年06月14日 15:40:40   投稿:jingxian  
下面小编就为大家带来一篇全面了解Python的getattr(),setattr(),delattr(),hasattr()。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1. getattr()函数是Python自省的核心函数,具体使用大体如下:

class A: 
def __init__(self): 
self.name = 'zhangjing' 
#self.age='24'
def method(self): 
print"method print" 
 
Instance = A() 
print getattr(Instance , 'name, 'not find') #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find'
print getattr(Instance , 'age', 'not find') #如果Instance 对象中有属性age则打印self.age的值,否则打印'not find'
print getattr(a, 'method', 'default') #如果有方法method,否则打印其地址,否则打印default 
print getattr(a, 'method', 'default')() #如果有方法method,运行函数并打印None否则打印default 

2. hasattr(object, name)

说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)

3. setattr(object, name, value)

这是相对应的getattr()。参数是一个对象,一个字符串和一个任意值。字符串可能会列出一个现有的属性或一个新的属性。这个函数将值赋给属性的。该对象允许它提供。例如,setattr(x,“foobar”,123)相当于x.foobar = 123。

4. delattr(object, name)

与setattr()相关的一组函数。参数是由一个对象(记住python中一切皆是对象)和一个字符串组成的。string参数必须是对象属性名之一。该函数删除该obj的一个由string指定的属性。delattr(x, 'foobar')=del x.foobar

以上这篇浅谈Python的getattr(),setattr(),delattr(),hasattr()就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决List.append() 在 Python 中不起作用的问题

    解决List.append() 在 Python 中不起作用的问题

    在 Python 中,我们通常使用 List.append() 方法向列表末尾添加元素,然而,在某些情况下,你可能会遇到 List.append() 方法不起作用的问题,本文将详细讨论这个问题并提供解决方法,需要的朋友可以参考下
    2023-06-06
  • Python+PyQt5制作一个图片查看器

    Python+PyQt5制作一个图片查看器

    在PyQt中可以使用很多方式实现照片查看器,本文将利用QGraphicsView类来实现图片查看器的制作,感兴趣的小伙伴快跟随小编一起动手试一试
    2022-03-03
  • 计算python脚本执行时间的多种方法

    计算python脚本执行时间的多种方法

    在编写Python脚本时,了解脚本的执行时间通常是很有用的,特别是在优化代码或评估性能时,Python提供了多种方法来测量脚本的执行时间,从内置模块到第三方库,可以选择适合你需求的方式,本文将介绍计算 Python 脚本执行时间的多种方法,需要的朋友可以参考下
    2023-11-11
  • Django日志模块logging的配置详解

    Django日志模块logging的配置详解

    日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常。在生产环境下有很大的用处。在java 开发中通常用 log4j,logback 等三方组件。下面这篇文章主要介绍了Django日志模块logging的相关资料,需要的朋友可以参考下。
    2017-02-02
  • python 基于DDT实现数据驱动测试

    python 基于DDT实现数据驱动测试

    这篇文章主要介绍了python 基于DDT实现数据驱动测试的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • 8行代码实现Python文件去重

    8行代码实现Python文件去重

    本文主要介绍了Python文件去重,所以就想使用Python自动化解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • python神经网络学习使用Keras进行回归运算

    python神经网络学习使用Keras进行回归运算

    这篇文章主要为大家介绍了python神经网络学习使用Keras进行回归运算,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python 中导入文本文件的示例代码

    Python 中导入文本文件的示例代码

    这篇文章主要介绍了如何在 Python 中导入文本文件,在Python中导入文本文件是很常见的操作,我们可以使用内置的open函数和with语句来读取或写入文本文件,需要的朋友可以参考下
    2023-05-05
  • python中join与os.path.join()函数实例详解

    python中join与os.path.join()函数实例详解

    os.path.join()函数用于路径拼接文件路径,下面这篇文章主要给大家介绍了关于python中join与os.path.join()函数的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • python selenium执行所有测试用例并生成报告的方法

    python selenium执行所有测试用例并生成报告的方法

    今天小编就为大家分享一篇python selenium执行所有测试用例并生成报告的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02

最新评论