• python


    什么是反射:

      反射的概念是由smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究,它首先被程序语言的设计领域锁采用.

    # 反射函数:
    class abc():
        def __init__(self,name):
            self.name = name
            self.old = 12
        def test(self):
            return 'test'
    anec = abc('anec')
    
    
    # hasattr(object,name(字符串类型))
    #判断参数是否在object对象里面:
    # 返回值:True/False
    print(hasattr(anec,"old"))
    print(hasattr(anec,"test"))
    
    
    # getattr(object,name(字符串类型))
    # 获取object对应的参数()
    # 返回值: 有,返回值是一个object对象/没有 就报错
    print(getattr(anec,'test'))
    xx = getattr(anec,'test')
    print(xx())
    
    # setattr(object,name,value)
    # 设置object对应参数的值
    # value是设置的值
    #设置实例属性:
    setattr(anec,"xx",1231231231)
    print(anec.__dict__)
    #设置类的函数属性:
    def test2():
        return 'test2'
    setattr(anec,'test2',test2)
    print(anec.__dict__)
    
    # delattr(object,name)
    # 删除object对应的值
    delattr(anec,'xx')
    print(anec.__dict__)
    
    #为什么要用反射???
    # 可以实现定义好的接口,接口只有在被完成后才会真正执行,这实现了即插即用
  • 相关阅读:
    数组常用操作实现
    链表简单实现栈与队列
    亿万级别的表数据处理方式
    ubuntu安装与卸载.dep软件
    pg数据库表接口和数据导出
    深入分析理解Tomcat体系结构
    Servlet源码级别进行详解
    Maven命令行创建java或javaWeb项目
    解释语言与编译语言
    C++中Reference与Pointer的不同
  • 原文地址:https://www.cnblogs.com/Anec/p/9769012.html
Copyright © 2020-2023  润新知