zoukankan      html  css  js  c++  java
  • python中的反射

    反射

    hashttr :判断某个函数或者变量是否存在

    getattr :如果instance对象中有属性name则打印self.name的值,否则打印'not find'

    1.反射模块中的内容

    import a
    import sys
    print(sys.modulse['a'].Alipay)
    print(a.Alipay)
    print(getattr(a,'Alipay'))
    print(getattr(sys.modules['a'],'Alipay'))
    
    1. 反射本文件中的内容

      import sys
      cat = '小a'
      dog = '小b'
      def pig():
          print('小p')
      print(getattr(sys.modules['__main__'],'cat'))
      print(getattr(sys.modules['__main__'],'dog'))
      getattr(sys.modules['__main__'],'pig')()
      
    2. 反射对象中的属性或者绑定方法

      class Person:
          def __init__(self,name,age):
              self.name = name
              self.age = age
          def qqxing(self):
              print('qqxing')
      alex = Person('alex',83)
      wusir = Person('wusir',74)
      ret = getattr(alex,'name')
      print(ret)
      ret = getattr(wusir,'name')
      print(set)
      ret = getattr(wusir,'qqxing')
      ret()
      
    3. 反射类的静态变量

      class A:
          Role = '治疗'
          def __init__(self):
              pass
      print(getattr(A,'Role'))#调用静态变量的时候需要用类名加上静态名
      
    4. callable #判断对象是否可以被调用,可以返回True,不可以返回False

  • 相关阅读:
    Silverlight学习(五)图形标绘
    Silverlight学习(四) domainservice动态多条件查询
    MySQL之单表查询
    mysql外键的三种关系
    mysql之完整性约束
    接口类和抽象类的区别
    mysql中的sql_mode
    html5本地存储技术 localstorage
    mysql数值类型
    mysql
  • 原文地址:https://www.cnblogs.com/wang-xing-hao/p/11172720.html
Copyright © 2011-2022 走看看