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

作者:jingxian 时间:2021-01-11 11:30:33 

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
0
投稿

猜你喜欢

  • 使用pandas读取文件的实现

    2022-10-20 14:00:42
  • JavaScript入门教程(4) js浏览器对象

    2024-06-07 16:00:52
  • 打败 IE 的葵花宝典:CSS Bug Table

    2010-08-03 12:30:00
  • Python控制鼠标键盘代码实例

    2021-07-28 11:17:30
  • 实例探究Python以并发方式编写高性能端口扫描器的方法

    2022-01-12 14:38:52
  • 深入讨论Python函数的参数的默认值所引发的问题的原因

    2022-08-03 00:54:31
  • SQL Server的触发器详解

    2024-01-21 16:26:58
  • JS 排序输出实现table行号自增前端动态生成的tr

    2024-06-16 05:07:50
  • 使用PyQt5设计GUI实现程序图形界面设计

    2021-09-26 03:22:02
  • Python实现获取视频时长功能

    2021-11-25 03:33:57
  • Python Pygame中精灵和碰撞检测详解

    2021-01-31 05:45:27
  • Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)

    2021-06-11 17:17:54
  • Python条件语句与循环语句

    2023-01-03 05:07:21
  • vue项目中使用this.$confirm解析

    2024-05-02 17:02:09
  • 微软建议的ASP性能优化28条守则(6)

    2008-02-29 11:43:00
  • python计算质数的6种方法

    2023-11-06 10:22:27
  • Python Opencv实现最强美颜滤镜效果

    2021-11-09 11:23:15
  • python爬虫爬取快手视频多线程下载功能

    2021-10-29 09:24:04
  • ChatGPT如何写好Prompt编程示例详解

    2022-06-30 03:55:24
  • Layui事件监听的实现(表单和数据表格)

    2024-05-09 15:01:11
  • asp之家 网络编程 m.aspxhome.com