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

  • 相关阅读:
    【转】双口RAM
    Beep使用
    fcntl函数
    ioctl() 参数
    线程属性:pthread_attr_t
    GPIO
    Linux CGI编程基础
    看门狗watchdog
    Linux库知识大全
    linux进程间通讯
  • 原文地址:https://www.cnblogs.com/wang-xing-hao/p/11172720.html
Copyright © 2011-2022 走看看