zoukankan      html  css  js  c++  java
  • 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__)
    
    #为什么要用反射???
    # 可以实现定义好的接口,接口只有在被完成后才会真正执行,这实现了即插即用
  • 相关阅读:
    angularjs的$filter使用
    ngResource提交json数据如何带参数
    angularjs可交互的directive
    AngularJS $http配置为form data 提交
    让AngularJS的$http 服务像jQuery.ajax()一样工作
    mysql修改密码
    四种常见的 POST 提交数据方式
    跨域API
    cmd复制文件
    git查看日志
  • 原文地址:https://www.cnblogs.com/Anec/p/9769012.html
Copyright © 2011-2022 走看看