@Python的getattr(),setattr(),delattr(),hasattr()

先转一篇博文,参考。最后再给出一个例子

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

获取对象引用getattr
Getattr用于返回一个对象属性,或者方法

  1. class A:
  2. def __init__(self):
  3. self.name = 'zhangjing'
  4.     #self.age='24'
  5. def method(self):
  6. print"method print"
  7. Instance = A()
  8. print getattr(Instance , 'name, 'not find') #如果Instance 对象中有属性name则打印self.name的值,否则打印'not find'
  9. print getattr(Instance , 'age', 'not find')   #如果Instance 对象中有属性age则打印self.age的值,否则打印'not find'
  10. print getattr(a, 'method', 'default')
  11. #如果有方法method,否则打印其地址,否则打印default
  12. print getattr(a, 'method', 'default')()
  13. #如果有方法method,运行函数并打印None否则打印default

注:使用getattr可以轻松实现工厂模式。
例:一个模块支持html、text、xml等格式的打印,根据传入的formate参数的不同,调用不同的函数实现几种格式的输出

    1. import statsout
    2. def output(data, format="text"):
    3. output_function = getattr(statsout, "output_%s" % format)
    4. return output_function(data)
setattr( object, name, value)

This is the counterpart of getattr(). The arguments
are an object, a string and an arbitrary value. The string may name an existing
attribute or a new attribute. The function assigns the value to the attribute,
provided the object allows it. For example, setattr(x,
'foobar', 123)
is equivalent to
x.foobar = 123.

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

delattr(       object, name)

This is a relative of setattr(). The arguments are
an object and a string. The string must be the name of one of the object’s
attributes. The function deletes the named attribute, provided the object allows
it. For example, delattr(x, 'foobar') is
equivalent to del x.foobar.

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

  • hasattr用于确定一个对象是否具有某个属性。

    语法:
    hasattr(object, name) -> bool
    判断object中是否有name属性,返回一个布尔值。

>>> li=["zhangjing","zhangwei"]

>>> getattr(li,"pop")
<built-in method pop of list object at 0x011DF6C0>
>>> li.pop
<built-in method pop of list object at 0x011DF6C0>

>>> li.pop()
'zhangwei'

>>> getattr(li,"pop")()
'zhangjing'

>>>getattr(li, "append")("Moe") 

--------------------------------------------------------------------------------------------------------------------------------------------------------

例子如下:

 
 class WrapMe(object):
"""docstring for ClassName"""
def __init__(self, arg): self.__data = arg
def get(self):
return self.__data
def __repr__(self):
return 'self.__data'
def __str__(self):
return str(self.__data)
def __getattr__(self,attr):
return getattr(self.__data,attr)
wrappedComplex = WrapMe(3.5+4.2j)
print wrappedComplex
print wrappedComplex.real
print wrappedComplex.imag
print wrappedComplex.conjugate()
print wrappedComplex.get()

结果如下:

aaarticlea/png;base64,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" alt="" />

对象自有方法:

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

----------------------------------------------------------

类内建是对象的获取,内建是获取XX中的XXX方法结果

Python的getattr(),setattr(),delattr(),hasattr()及类内建__getattr__应用的更多相关文章

  1. [转]Python的getattr(),setattr(),delattr(),hasattr()

    getattr()函数是Python自省的核心函数,具体使用大体如下: 获取对象引用getattrGetattr用于返回一个对象属性,或者方法 class A: def __init__(self): ...

  2. Python的getattr(),setattr(),delattr(),hasattr()

    判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来   1 >>> class ...

  3. python 内置函数的补充 isinstance,issubclass, hasattr ,getattr, setattr, delattr,str,del 用法,以及元类

    isinstance   是 python中的内置函数 , isinstance()用来判断一个函数是不是一个类型 issubclass  是python 中的内置函数,  用来一个类A是不是另外一个 ...

  4. isinstance/type/issubclass的用法,反射(hasattr,getattr,setattr,delattr)

    6.23 自我总结 面向对象的高阶 1.isinstance/type/issubclass 1.type 显示对象的类,但是不会显示他的父类 2.isinstance 会显示的对象的类,也会去找对象 ...

  5. python进阶之函数和类内建魔法属性

    前言 关于对象的魔法方法我们已经讲得太多,但是对于类或函数内建的魔法属性和功能我们涉及较少,下面系统了解一下类和函数的内建属性. 查看内建属性 class Person(object): pass d ...

  6. Python的程序结构[5] -> 模块/Module[0] -> 内建模块 builtins

    builtins 内建模块 / builtins Module 在Python的模块中,有一种特殊模块,无需导入便可以使用,其中包含了许多内建函数与类. builtins 模块内容 / builtin ...

  7. Python hasattr,getattr,setattr,delattr

    #!/usr/bin/env python # -*- coding:utf-8 -*- # 作者:Presley # 邮箱:1209989516@qq.com # 时间:2018-11-04 # 反 ...

  8. python反射hasattr getattr setattr delattr

    反射 : 是用字符串类型的名字 去操作 变量 相比于用eval('print(name)') 留有 安全隐患 反射 就没有安全问题 hasattr 语法: hasattr(object, name)o ...

  9. python动态函数hasattr,getattr,setattr,delattr

    hasattr(object,name) hasattr用来判断对象中是否有name属性或者name方法,如果有,染回true,否则返回false class attr():     def fun( ...

随机推荐

  1. Connection连接、关闭数据库

    创建连接sql server数据库的字符一般有两种, 一种是以sql验证登录的 一种是以windows身份验证的 步骤: 引用命名空间System.Date.SqlClient 将连接方法声明至字符串 ...

  2. 过滤网址和输入框中的特殊字符,防止sql注入

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  3. MySQL (一)(未完成)

    并发控制 读写锁 读锁: 共享锁 写锁: 排它锁 颗粒度 表锁,MySQL中开销最小的锁 行锁,MySQL中开销最大的锁 事务 ACID特性 原子性(Automatic) 隔离性(Isolation) ...

  4. 一、hive安装(内置数据库derby)

    hive是一个数据仓库工具,建立在hadoop之上,它的存在是为了让大数据的查询和分析更加的方便.hive提供简单的sql查询功能,并最终转换为mapreduce任务执行. 一.环境 JDK1.8+官 ...

  5. jenkins在Linux 下安装部署

      这里介绍两种方法,一种方法将最新版jenkins加入到yum源,另外一种是下载指定版本的rpm包 系统centos6 自带jdk1.7 一 安装jenkins wget -O :下载并以不同的文件 ...

  6. C#对Windows服务组的启动与停止

    Windows服务大家都不陌生,Windows服务组的概念,貌似MS并没有这个说法. 作为一名软件开发者,我们的机器上安装有各种开发工具,伴随着各种相关服务. Visual Studio可以不打开,S ...

  7. Working C# code for MySql5.5 Stored Procedures IN parameters

    MySQL5.5存储过程: #插入一条 涂聚文 DELIMITER $$ DROP PROCEDURE IF EXISTS `geovindu`.`proc_Insert_BookKindList` ...

  8. Fast Walsh-Hadamard Transform——快速沃尔什变换(二)

    上次的博客有点模糊的说...我把思路和算法实现说一说吧... 思路 关于快速沃尔什变换,为了方便起见,我们采用线性变换(非线性变换不会搞). 那么,就会有一个变化前各数值在变换后各处的系数,即前一篇博 ...

  9. HTML5 Web存储 页面间进行传值

    在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储 使用HTML5的新特性可 ...

  10. 关于AJAX的一些事

    在JQ中运用AJAX的操作是很舒服的一件事,一直以来我对他都有个错误的认识,直到遇见了问题才把他研究个透彻. 下面贴出两种AJAX的写法,当然都是正确的. 其一: $.ajax({ type: 'po ...