面向对象其他相关

Posted chenhuping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象其他相关相关的知识,希望对你有一定的参考价值。

反射
python中的反射功能是由以下四个内置函数提供:hasattr、getattr、setattr、delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员、获取成员、设置成员、删除成员

hasattr,getattr,setattr,delattr.
检查成员,获取成员,设置成员,删除成员.
class Foo():
    def __init__(self):
        self.name = wupeiqi

    def func(self):
        return func
obj = Foo()
检查是否含有成员
print(hasattr(obj,name))  #结果Ture
print(hasattr(obj,func))  #结果Ture
print(hasattr(obj,nice))  #结果False

获取成员
print(getattr(obj,name))  #结果wupeiqi
print(getattr(obj,func)())    #结果func

设置成员
setattr(obj,age,18)
print(getattr(obj,age))   #结果18

setattr(obj,nice,lambda x:x**2)
print(getattr(obj,nice)(2))   #结果4

删除成员
delattr(obj,name)
print(getattr(obj,name))  #报错,原因‘Foo‘对象没有属性‘name‘(‘Foo‘ object has no attribute ‘name‘)
delattr(obj,func)
print(getattr(obj,func))  #报错

 


以上是关于面向对象其他相关的主要内容,如果未能解决你的问题,请参考以下文章

面向对象相关

PHP面向对象之选择工厂和更新工厂

面向对象其他相关

AOP 面向切面编程

python——面向对象相关

python——面向对象相关